/**
 * @author Dean Peterson
 * @copyright (c)2010 Glycerin For NitroSell
 * These scripts reset and/or reformat various elements to provide consistent styling and scripting.
 *
 */
var $centerWrapper = $(document.createElement("div")).attr('id', 'center-wrapper');
var $innerCenterWrapper = $(document.createElement("div")).attr('id', 'inner-center-wrapper').appendTo($centerWrapper);

//initialize sections
var $wrapper = $("#inner-wrapper");
var $header = $("#inner-header");
var $nav = $("#inner-nav");
var $content = $("#inner-content");
var $footer = $("#inner-footer");
//HIDE THESE BEFORE TRANSFORMING
$("#sitefooter").remove();

//remove vspace and hspace from images
$("img").removeAttr("vspace").removeAttr("hspace").removeAttr('align');

//BUTTONS
$("body#forgotpassword table.infoBox a.button-big").addClass('continue button');

//ADVANCED SEARCH PANEL
var advancedSearchForm = $("#search_form");
$("#keyword-search-box").appendTo(advancedSearchForm);
$("#theme_dropdown").appendTo(advancedSearchForm);
$("#field_product_brand").appendTo(advancedSearchForm);
$("#keyword-search-button").remove();
$("form#search_form input:hidden").prependTo(advancedSearchForm);
$(advancedSearchForm).append("<div><a href='#' title='Submit Search' id='advanced-search-panel-submit' class='button submit'>search</a></div>");
$(advancedSearchForm).appendTo("#inner-advanced-search-panel");
$("#search-panel-option").insertAfter("input#keyword-search-box");
$("#advanced-search-link").insertAfter("#field_product_brand");
$("#advanced-search-panel table").remove();
$("#advanced-search-panel").removeClass('hide');

//SPECIAL OFFERS PANEL
if (document.getElementById('specialoffers')) {
    var oItemImage = $("#panel-specials td.smallText img");
    var oItemLink = $("#panel-specials td.smalltext a");
    var oItemPrice = $("#panel-specials td.smalltext span.text-price");
    
    var oSpecialOffersPanel = document.createElement("div");
    $(oSpecialOffersPanel).attr("id", "special-offers-panel");
    var oInnerSpecialOffersPanel = document.createElement("div");
    $(oInnerSpecialOffersPanel).attr({
        'id': "inner-special-offers-panel",
        'class': 'inner'
    });
    //insert into panels for further processing
    $(oSpecialOffersPanel).append(oInnerSpecialOffersPanel).appendTo("#panels");
    
    var oUl = document.createElement("ul");
    
    //iterate through the elements
    $.each(oItemLink, function(key, value){
    
        //initialize values
        productName = $(oItemLink[key]).text();
        productLink = $(oItemLink[key]).empty();
        productHeader = $("<h4></h4>").append(productName).wrapInner($(productLink).clone());
        
        productLabel = $("<span class='label'>Price:</span>");
        productPrice = $("<span class='value'></span>").append($(oItemPrice[key]).text());
        productTextPrice = $("<p class='product-text-price'></p>").append(productLabel).append(productPrice);
        productImage = $(oItemImage[key]);
        productThumb = $("<p class='product-thumb'><span></span></p>").append(productImage).wrapInner($(productLink).clone());
        
        //create and populate list element
        listItem = document.createElement("li");
        $(listItem).append(productHeader).append(productThumb).append(productTextPrice);
        $(listItem).wrapInner("<div class='inner-li'></div>");
        
        //insert into ul
        $(listItem).appendTo(oUl);
    });
    
    $(oInnerSpecialOffersPanel).prepend("<h3>Special Offers</h3>");
    
    $(oUl).appendTo(oInnerSpecialOffersPanel);
    $("#specialoffers").remove();
}

//FORM PAGES
$("table.formBox td:nth-child(1)").addClass('col1');
$("table.formBox td:nth-child(2)").addClass('col2');
$("table.formBox td:nth-child(3)").addClass('col3');
$("#login-tip-text").prependTo("#loginform");
$("#forgot-password").appendTo("#loginform");
$("#accountform").removeClass('hide');

//PRODUCT PAGE
if ($("#pageid_product").length) {
    productMatrix = function(){
		var pageTitle = $("h1").text();
		var productNumber = product.id;
        var $oMatrixItemOptions = $("#matrixitemoptions");
        //matrix header
        var $matrixHeaderP = $oMatrixItemOptions.find("p:first");
        var $matrixHeaderText = $matrixHeaderP.text();
        $matrixHeaderP.replaceWith("<h3>" + $matrixHeaderText + "</h3>");
        //matrix cleanup
        
        var $oMatrix1 = $(document.createElement("p")).attr({
            "id": "matrixOption1",
            "class": "matrixoption"
        });
        
        var $oProductMatrixTable = $("#matrixoptions");
        var $matrix1Select = $oProductMatrixTable.find("#matrixrow1 select");
		$matrix1Select.removeAttr("onchange");
        var $matrix1Options = $matrix1Select.find("option");
//        var $matrix1OptionsNav = $(document.createElement("ul"));
//        $matrix1Options.each(function(){
//            $thisOption = $(this);
//            optionValue = $thisOption.attr("value");
//            optionText = $thisOption.attr("text");
//			optionUrl = "/store/product/" + optionValue + "/"+ optionText +"/";
//            $optionLink = $(document.createElement("a")).attr({
//                "href": optionUrl,
//                "title": optionText,
//				"class": function(){
//					if(optionValue === productNumber){
//						return "active";
//					}
//				}
//            }).text(optionText);
//            $optionLi = $(document.createElement("li")).append($optionLink).appendTo($matrix1OptionsNav);
//        });
//		$matrix1OptionsNav.insertAfter("#seldim1");
        var $matrix1LabelText = $("#matrixtitle1").text();
        var $matrix1Label = $(document.createElement("label"))
			.attr({"for": $matrix1Select.attr("id")})
			.text($matrix1LabelText);
			
        $oMatrix1.append($matrix1Label).append($matrix1Select).insertBefore($oProductMatrixTable);
        $oProductMatrixTable.remove();
    };
    productMatrix();
	$("#seldim1").change(function(){
		$this = $(this);
		$thisOption = $this.find("option:selected");
		productId = $thisOption.attr("value");
		productText = $thisOption.text();
		var url = "/store/product/"+productId+"/"+productText+"/";
		window.location.assign(url);
	});
}

//account login
$("#pageid_login #login-button,#pageid_contact .button-big,#btn-profile-continue").addClass('button');

//pageid_search
var $advSearchTable = $("#pageid_search #advanced-search-options table");
$advSearchTable.find("tr td:first-child").addClass('col1');
$advSearchTable.find("tr td:nth-child(2)").addClass('col2');
$advSearchTable.find("#search-button").addClass("button");

//pageid_shippingaddress
var $pageidShippingAddress = $("body#pageid_shippingaddress #content");
$pageidShippingAddress.find(".button-big").addClass('button');

//pageid_checkoutstep2
var $pageidCheckoutStep2 = $("body#pageid_checkoutstep2 #content");
$pageidCheckoutStep2.find("#btn-change-address, #btn-continue-checkout").addClass('button');

if ($("#pageid_basket").length) {
    $content.find("a[href='/store/go/quickadd/']").closest("p").addClass('quick-add');
}
//pageid_orderconfirmed
if ($("#pageid_ordercomplete").length) {
    $homeLink = $("#tab-1 a").clone().text("Return to Home Page").addClass('button').button();
    $content.find("#shopping-basket").before($homeLink);
}
//pageid_shippingaddress
if ($("#pageid_shippingaddress").length) {
    $content.find("a.button").closest("tr").height(50);
}
if ($("#pageid_history").length) {
    $content.find("#history-submit").addClass('button').button();
    $content.find("select").bind("load change", function(){
        $content.find("#history-submit").addClass('button').button();
    });
}

//pageid_selectaddress
if ($("#pageid_selectaddress").length) {
    $link = $content.find("a u").closest("a");
    $link.each(function(){
        $this = $(this);
        $text = $this.text();
        $this.empty().text($text);
    });
    $("#use-address-main").addClass('button').button();
    
}
//pageid_payment
var $pageidPayment = $("body#pageid_payment #content");
$pageidPayment.find("#btn-make-payment").addClass('button').css({
    'display': 'block',
    'margin': '5px 0px'
});

//replaces items without image with "No Image Available" and classes the wrapper with 'no-image'

$productPanelThumbs = $("#product-relateditems-panel img.image-thumb, #product-list img.image-thumb");
var $productPanelThumb;
var $productPanelThumbSrc;
$productPanelThumbs.each(function(index){
    $productPanelThumb = $(this);
    $productPanelThumbSrc = $productPanelThumb.attr('src');
    if ($productPanelThumbSrc.search(/spacer/) > -1) {
        $productPanelThumb.closest('.image-thumb-wrap').addClass('no-image');
        $productPanelThumb.replaceWith("<span>No Image Available</span>");
    }
});
