jQuery.fn.outer = function() {
  return $( $('<div></div>').html(this.clone()) ).html(); 
}


/* Javascript Block for Product Page */
$("#IsAGift").ready(function () {
  if(!$("#IsAGift").length) {
    return false;
  }
  // console.log('IsAGift');
  
	
	// Clear out initial heading and space
  var cart_head = $("#content_area");
  var remove_head = $(cart_head).find('div');
  $(remove_head[0]).replaceWith();
  remove_head = $(cart_head).find('br');
  for(var cnt = 0; cnt < 11; cnt++) {
    $(remove_head[cnt]).replaceWith();
  }
  // Remove "Shop for more items" button
  remove_head = $(cart_head).find('table');
  $(remove_head[0]).replaceWith();
  
  
  var cart = $(".colors_lines").parent().parent().parent();
    $(cart).attr('id', 'product_cart');

    var html_start = '<div id="content" class="checkout-content">'
  	    + ' <div class="breadcrumbs"><img src="/v/vspfiles/templates/idbl201102/images/cart/step-one.gif" alt="" /></div>'
  		  + ' <div class="shop-more-button"><a href="http://www.idbylandau.com/default.asp"><img src="/v/vspfiles/templates/idbl201102/images/buttons/shop_more.gif" alt="shop more" /></a></div>'
  		  + ' <div class="clear"></div>'
  		  + ' <div class="cart-main-table">';
    $('#content_area').prepend(html_start);

    var html_end = '</div>'
   		  + '	<div class="clear"></div>'
   		  + '</div>'
   		  + '<div class="clear"></div>';
    $('#content_area').append(html_end);

  var cart_arr = $("#product_cart").find('tr');
  //console.log(cart_arr);

  for(cnt = 1; cnt < cart_arr.length; cnt++) {
    var cart_row = cart_arr[cnt];
    
    var prod_delete = $(cart_row).find('td')[1];
      prod_delete = $(prod_delete).find('a > img');
      $(prod_delete[0]).parent().parent().parent().attr('class', 'interior_row');
    var delete_img = '<img src="/v/vspfiles/templates/idbl201102/images/cart/red_x.gif" alt="" />';
      $(prod_delete[0]).replaceWith(delete_img);
  }

  // var cart_header = $("#product_cart").find('');
  // var cart_header = $(".colors_background1");
  $(cart_arr[0]).replaceWith();
  $(cart_arr[1]).replaceWith();
  var header_html = '<tr class="cart_header_row">'
      + ' <th class="TL_corner" colspan="3"></th>'
      + '	<th class="item">Item</th>'
      + '	<th class="desc">Description</th>'
      + ' <th></th>'
      + '	<th class="qty">QTY</th>'
      + ' <th></th>'
      + ' <th class="each">Each</th>'
      + ' <th></th>'
      + ' <th class="total">Total</th>'
      + ' <th class="TR_corner"></th>'
      + '</tr>';
  $(cart_arr[2]).replaceWith(header_html);
  $(cart_arr[3]).replaceWith();
  $(cart_arr[4]).replaceWith();
  $(cart_arr[(cart_arr.length - 1)]).replaceWith();
  $(cart_arr[(cart_arr.length - 2)]).replaceWith();

  var product_array = $(".colors_productname").parent();
  var prod_results_arr = [];
  for (cnt = 0; cnt < product_array.length; cnt++) {
    if($(product_array[cnt]).hasClass("carttext")) {
      prod_results_arr.push(product_array[cnt]);
    }
  }
  
  for(cnt = 0; cnt < prod_results_arr.length; cnt++) {
    var prod_row = $(prod_results_arr[cnt]).parent().parent().parent().parent().parent().parent();
    
    $(prod_results_arr[cnt]).parent().parent().parent().parent().parent().parent().attr('class', 'product_row');
    
    var prod_border = $(prod_row).find('td')[0];
      $(prod_border).addClass('table_border');
      $(prod_border).attr('width', '5');
      prod_border = $(prod_row).find('td')[16];
      $(prod_border).addClass('table_border');
      $(prod_border).attr('width', '5');
    
    var prod_thumb = $(prod_row).find('td')[3];
      $(prod_thumb).addClass('thumb');
  
    var prod_qty = $(prod_row).find('td')[7];
      $(prod_qty).addClass('qty');
    var prod_each = $(prod_row).find('td')[9];
      $(prod_each).addClass('each');
    var prod_total = $(prod_row).find('td')[13];
      $(prod_total).addClass('total');
  }
  
  // Interior product rows, covers items like Coupon Code
  var prod_border = $(".interior_row").find('td');
    $(prod_border[0]).addClass('table_border');
    $(prod_border[0]).attr('width', '5');
    $(prod_border[(prod_border.length - 1)]).addClass('table_border');
    $(prod_border[(prod_border.length - 1)]).attr('width', '5');

  // Clean-up graphics surrounding coupon code
  var coupon_tbl = $(".smalltext").parent().parent().parent();
  var coupon_interior_arr = $(".smalltext").parent().find('td');
    $(coupon_interior_arr[0]).replaceWith();
    $(coupon_interior_arr[2]).replaceWith();
  var coupon_row_arr = $(coupon_tbl).find('tr');
    $(coupon_row_arr[0]).replaceWith();
    $(coupon_row_arr[1]).addClass('coupon_code');
    $(coupon_row_arr[2]).replaceWith();
  var apply_btn = $('input[name=btnCouponCode]');
    $(apply_btn).attr('src', '/v/vspfiles/templates/idbl201102/images/buttons/apply.gif');
  
  // Recalculate button row
  var recalculate_btn = $("#btnRecalculate");
    $(recalculate_btn).attr('src', '/v/vspfiles/templates/idbl201102/images/buttons/recalculate.gif');
  var recalculate_row = $(recalculate_btn).parent().parent().parent().parent().parent().parent().find('td');
    $(recalculate_row[1]).addClass('BL_corner');
    $(recalculate_row[2]).addClass('table_border');
    $(recalculate_row[2]).attr('align', '');
    $(recalculate_row[3]).addClass('table_border');
    $(recalculate_row[(recalculate_row.length - 1)]).addClass('BR_corner');
    $(recalculate_row[(recalculate_row.length - 1)]).attr('width', '5');
  $(recalculate_row[0]).parent().parent().append('<tr id="shipping_bottom"><td></td></tr>');

  // Shipping with default selections
  var shipping_select = $('select[name=ShipCountry]');
  var shipping_rate = $(shipping_select).parent().parent().parent().parent().parent().parent().parent().parent().parent().parent().find('td');
    cart_remove = $(shipping_rate[0]).find('font > img');
    var delete_img = '<img src="/v/vspfiles/templates/idbl201102/images/cart/red_x.gif" alt="" />';
      $(cart_remove).replaceWith(delete_img);
    cart_link = $(shipping_rate[0]).find('font > a');
    $(cart_link).attr('class', 'empty_cart');
    $(shipping_rate[2]).attr('id', 'shipping_rate');
    $(shipping_rate[(shipping_rate.length - 1)]).addClass('table_border');
    $(shipping_rate[(shipping_rate.length - 1)]).attr('width', '5');
  $(shipping_rate[0]).parent().attr('id', 'product_bottom');
  
  // Shipping after country/state/zip are chosen
  shipping_select = $('select[name=ShippingSpeedChoice]');
  shipping_rate = $(shipping_select).parent().parent().parent().parent().parent().parent().parent().parent().parent().parent().find('td');
    cart_remove = $(shipping_rate[0]).find('font > img');
    var delete_img = '<img src="/v/vspfiles/templates/idbl201102/images/cart/red_x.gif" alt="" />';
      $(cart_remove).replaceWith(delete_img);
    cart_link = $(shipping_rate[0]).find('font > a');
      $(cart_link).attr('class', 'empty_cart');
    $(shipping_rate[2]).attr('id', 'shipping_rate');
    $(shipping_rate[(shipping_rate.length - 1)]).addClass('table_border');
    $(shipping_rate[(shipping_rate.length - 1)]).attr('width', '5');
  $(shipping_rate[0]).parent().attr('id', 'product_bottom');
  
  // Total price area
  var price_whole_row = $(".pricecolor").parent().parent();
  var price_whole_row_arr = $(price_whole_row).find('td');
    $(price_whole_row_arr[1]).replaceWith();
  var price_row = $(price_whole_row).parent().parent().parent().parent().find('td');
    $(price_row[3]).addClass('total_text');
    $(price_row[4]).addClass('table_border');
    $(price_row[5]).attr('id', 'total_price');
    $(price_row[5]).attr('align', '');
    $(price_row[7]).addClass('table_border');
    $(price_row[7]).attr('width', '5');
	
	
	//Fix checkout buttons
	$('input[name$="btn_checkout_guest"]').parent().css("vertical-align", "top");
	$('input[name$="btn_checkout_login"]').parent().css("vertical-align", "top");
});




/* Javascript Block for Product Page */
$(".colors_pricebox").ready(function () {
  if(!$(".colors_pricebox").length) {
    return false;
  }

	var pricebox = $(".colors_pricebox");
	pricebox.parent().css('vertical-align', 'top');	
	pricebox.parent().css('text-align', 'left');	
	pricebox.parent().parent().addClass('product-detail');
	
	var details_price_wrap = pricebox[0];
	//console.log(details_price_wrap);
	var details_price = $(details_price_wrap).find('tbody > tr > td > table > tbody');
		details_price = details_price[0].children[1].children[1];
		details_price = $(details_price).find('table > tbody > tr > td')[0];
	//console.log(details_price);
	
	var prod_title = $(details_price).find('h1')[0];
		prod_title = $(prod_title).html();
		prod_title_arr = prod_title.split('-<br>');
		prod_title = '';
		for(var i = 0; i < prod_title_arr.length; i++) {
			var lev = i+1;
			var tag = 'h'+ lev;
			var title = prod_title_arr[i];
			prod_title += '<'+ tag +'>'+ title +'</'+ tag +'>';
		}
		
	var prod_descr = $(details_price).find('p')[0];
		prod_descr = $(prod_descr).html();
	var prod_update_mess = $(details_price).find('div')[0];
		prod_update_mess = $(prod_update_mess).html();
	var prod_update_box = $(details_price).find('table')[0];
		prod_update_box = $(prod_update_box).html();
	var prod_code = $(details_price).find('.product_code')[0];
		prod_code = $(prod_code).html();
		
		/*
	console.log(prod_title);
	console.log(prod_descr);
	console.log(prod_update_mess);
	console.log(prod_update_box);
	console.log(prod_code);
	*/

	
	var html = '<div id="prod_descr_price">'
			 + '<h1>'+ prod_title +'</h1>' // Split into h1/h2 per design
			 + '<p>'+ prod_descr +'</p>'
			 + '<ul class="extra-details">'
			 + '<li><strong>Product Code:</strong>'+ prod_code +'</li>' // Remove inline style here
			 + '</ul> <!-- .extra-details -->'
			 
			 + '<div class="base-price">'
			 + prod_update_box // Make this smarter
			 + '</div> <!-- .base-price -->';
			 + '</div> <!-- #prod_descr_price -->';
	$(details_price_wrap).replaceWith(html);
	
	var options_wrap = pricebox[1];	
	var options = $(options_wrap).find('table > tbody > tr > td > table > tbody > tr > td > table > tbody')[0];
	var options_arr = $(options).children();
	var color_opt_table = reslice_table_rows(options_arr, 'color_options', 1, 2);
	var sizes_opt_table = reslice_table_rows(options_arr, 'size_options', 4, 4);
	var qty_opt_table = reslice_table_rows(options_arr, 'qty_options', 6, 6);
	var monogram_opt_table = reslice_table_rows(options_arr, 'monogram_options', 8, 11);
	var embroidery_opt_table = reslice_table_rows(options_arr, 'embroidery_options', 13, 16);
	
	var html = '<div class="product-options">'
			 + '<h3>Choose your options...</h3>'
			 + '<ul>'
			 + '<li class="step-one">'
			 + '<label>Step 1: Color*:</label>'
			 + color_opt_table
			 + '</li>'
			 + '<li class="step-two one-line">'
			 + '<label>Step 2: Sizes*:</label>'
			 + sizes_opt_table
			 + '</li>'
			 + '<li class="step-two one-line">'
			 + '<label>Step 3: Quantity*:</label>'
			 + qty_opt_table
			 + '</li>';
	 if(monogram_opt_table.indexOf("null")==-1) {
		html = html + '<li class="step-three one-line">'
			 + '<label><a href="#" id="control_for_monogram_options" class="control_title">Monogram (optional - not returnable):</a></label>'
			 + monogram_opt_table			
			 + '</li>';
	 }
	 if(embroidery_opt_table.indexOf("null")==-1) {
		html = html + '<li class="step-four one-line">'
			 + '<label><a href="#" id="control_for_embroidery_options" class="control_title">Embroidery  (optional - not returnable):</a></label>'
			 + embroidery_opt_table
			 + '</li>';
	 }
	html = html + '</ul>'
			 + '</div>	<!-- .product-options -->';
	//console.log(html);


	var cart_table = $(options_wrap).find('input[name=btnaddtocart]').parent().parent().parent().parent();
	var cart_table_html = $(cart_table).html();
	
	html += '<div class="add_cart_button">'+ cart_table_html +'</div>';
	//console.log(cart_btn);

	$(options_wrap).replaceWith(html);
	
	
	
	$('.control_title').bind('click', toggle_option_table);
});

function toggle_option_table() {
	var id_arr = this.id.split('_for_');
	var option_table_id = id_arr[1];
	$('#'+ option_table_id).toggle();
	return false;
}

function reslice_table_rows(row_arr, table_id, start_idx, end_idx) {
	var out = '<div id="'+ table_id +'" class="option_table_wrapper"><table class="product_options_table">';
	for(var i = start_idx; i <= end_idx; i++) {
	/*
		var cells = $(row_arr[i]).children();
		var cell_html = '';
		for(var ci = 0; ci < cells.length; ci++) {
			var cell = cells[ci];
			var cell_inner_html = $(cell).html();
			console.log(cell_inner_html);
			cell_html += '<td>'+ cell_inner_html +'</td>';
		}
		//console.log($(row_arr[i]).children());
	*/
		var row_html = $(row_arr[i]).html();
		out += '<tr>'+ row_html +'</tr>';
		
	}
	out += '</table></div>';
	//console.log(out);
	//console.log(broken);
	return out;
}


v1selnames = new Array("ShipCountry","ShipState_dropdown");
ShipCountry_default_value = "United States";
ShipState_dropdown_default_value = "";
var ShipState_dropdown = new Array();
ShipState_dropdown["United States"] = new Array(
  "Then, Select State","",
  "AA","AA",
  "AE","AE",
  "Alabama","AL",
  "Alaska","AK",
  "AP","AP",
  "Arizona","AZ",
  "Arkansas","AR",
  "California","CA",
  "Colorado","CO",
  "Connecticut","CT",
  "Delaware","DE",
  "District of Columbia","DC",
  "Florida","FL",
  "Georgia","GA",
  "Hawaii","HI",
  "Idaho","ID",
  "Illinois","IL",
  "Indiana","IN",
  "Iowa","IA",
  "Kansas","KS",
  "Kentucky","KY",
  "Louisiana","LA",
  "Maine","ME",
  "Maryland","MD",
  "Massachusetts","MA",
  "Michigan","MI",
  "Minnesota","MN",
  "Mississippi","MS",
  "Missouri","MO",
  "Montana","MT",
  "Nebraska","NE",
  "Nevada","NV",
  "New Hampshire","NH",
  "New Jersey","NJ",
  "New Mexico","NM",
  "New York","NY",
  "North Carolina","NC",
  "North Dakota","ND",
  "Ohio","OH",
  "Oklahoma","OK",
  "Oregon","OR",
  "Pennsylvania","PA",
  "Rhode Island","RI",
  "South Carolina","SC",
  "South Dakota","SD",
  "Tennessee","TN",
  "Texas","TX",
  "Utah","UT",
  "Vermont","VT",
  "Virginia","VA",
  "Washington","WA",
  "Washington DC","DC",
  "West Virginia","WV",
  "Wisconsin","WI",
  "Wyoming","WY");
var ShipCountry = new Array(
  "First, Select Country","",
  "United States","United States"
);
var Country_State_Province_Text = {"United States":"State"};

var v1Country_Onchange;
var State_Field_DropDown_Span_List = State_Field_DropDown_Span_List + ',span_v1state_dropdown';
var Hidden_State_Field_List = Hidden_State_Field_List + ',ShipState';
function Update_Hidden_State_Fields() {
	var State_Field_DropDown_Spans = State_Field_DropDown_Span_List.split(',');
	var Hidden_State_Fields = Hidden_State_Field_List.split(',');
	for (var i = 0; i < Hidden_State_Fields.length; i++) {
		if (document.getElementById(Hidden_State_Fields[i] + '_dropdown')) {
			if (document.getElementById(State_Field_DropDown_Spans[i]).style.display != 'none') {
				document.getElementById(Hidden_State_Fields[i]).value = document.getElementById(Hidden_State_Fields[i] + '_dropdown').value;
			}
			else {
				document.getElementById(Hidden_State_Fields[i] + '_dropdown').value = document.getElementById(Hidden_State_Fields[i]).value;
			}
		}
	}
}
function selIndex(sel) {
	for(var i=0;i<v1selnames.length;i++) {
	        if(v1selnames[i] == sel) {
			return i;
		}
	}
	return false;
}

function v1makeSel(s) {
	var l, o, j, v1el, v1selc, v1selc_default, v1selItem, pj;
	v1selItem = s.options[s.selectedIndex].text;
	l = selIndex(s.name) +1;
	for(i=l;i<v1selnames.length;i++) {
		o = 0;
		if(v1selnames[i] != null) {
			v1el = document.getElementById(v1selnames[i]);
			v1selc = eval(v1selnames[i] + '["' + v1selItem + '"]'  );
			v1selc_default = eval(v1selnames[i] + '_default_value' );
			if (document.getElementById('ShipState_Row')) {
				if (!Country_State_Province_Text[v1selItem]) {
					document.getElementById('span_v1state_dropdown').style.display='none';
					document.getElementById('span_v1state_textbox').style.display='none';
					document.getElementById('ShipState').value='';
					document.getElementById('ShipState_Row').style.display='none';
					for (var x = 2; document.getElementById('ShipState_Row' + x); x++) document.getElementById('ShipState_Row' + x).style.display='none';
					document.getElementById('ShipState_Required').value='';
					return;
				}
				else {
					document.getElementById('ShipState_Text').innerHTML = Country_State_Province_Text[v1selItem];
					document.getElementById('ShipState_Row').style.display='';
					for (var x = 2; document.getElementById('ShipState_Row' + x); x++) document.getElementById('ShipState_Row' + x).style.display='';
					document.getElementById('ShipState_Required').value='Y';
				}
			}
			if(v1selc ) {
			 	for(o=0,j=0;j<v1selc.length;j+=2,o++) {
					v1el.options[o] = new Option(v1selc[j], v1selc[j+1]);
					if(v1selc_default == v1selc[j+1]) {
						v1el.selectedIndex = o;
						v1selItem = v1selc[j];
					}
				}
//					v1el.options.length = j+1;
	document.getElementById('span_v1state_dropdown').style.display='block';
	document.getElementById('span_v1state_textbox').style.display='none';
	document.getElementById('ShipState').value='';
			}else{
					//no more dropdowns found. Therefore turn all the rest of the dropdowns into textboxes.
	document.getElementById('span_v1state_dropdown').style.display='none';
	document.getElementById('span_v1state_textbox').style.display='block';
	document.getElementById('ShipState').value='';
			}
		}else{
//				break;
		}
	     	for(pj=v1el.options.length-1;pj>=o;pj--) {
			v1el.options[pj] = null;
		}
	}
	if (typeof(v1Country_Onchange) == 'function')
		v1Country_Onchange(s);
}

function v1initTopMenu() {
	var v1el = document.getElementById(v1selnames[0]);
	var v1nextsel = false;
	v1sel1 = eval(v1selnames[0]);
	v1sel1_default = eval(v1selnames[0] + '_default_value' );
	var o, i;
	for(o=0,i=0;i<v1sel1.length;i+=2,o++) {
		v1el.options[o] = new Option(v1sel1[i],v1sel1[i+1]);
		if(v1sel1_default == v1sel1[i+1]) {
			v1el.selectedIndex = o;
		}
	}
	v1makeSel(v1el);
	document.getElementById('ShipState').value='';
}

