/* Cross-Browser Split 1.0.1
(c) Steven Levithan <stevenlevithan.com>; MIT License
An ECMA-compliant, uniform cross-browser split method */

//minified
var cbSplit;if(!cbSplit){cbSplit=function(a,b,c){if(Object.prototype.toString.call(b)!=="[object RegExp]"){return cbSplit._nativeSplit.call(a,b,c)}var d=[],e=0,f=(b.ignoreCase?"i":"")+(b.multiline?"m":"")+(b.sticky?"y":""),b=RegExp(b.source,f+"g"),g,h,i,j;a=a+"";if(!cbSplit._compliantExecNpcg){g=RegExp("^"+b.source+"$(?!\\s)",f)}if(c===undefined||+c<0){c=Infinity}else{c=Math.floor(+c);if(!c){return[]}}while(h=b.exec(a)){i=h.index+h[0].length;if(i>e){d.push(a.slice(e,h.index));if(!cbSplit._compliantExecNpcg&&h.length>1){h[0].replace(g,function(){for(var a=1;a<arguments.length-2;a++){if(arguments[a]===undefined){h[a]=undefined}}})}if(h.length>1&&h.index<a.length){Array.prototype.push.apply(d,h.slice(1))}j=h[0].length;e=i;if(d.length>=c){break}}if(b.lastIndex===h.index){b.lastIndex++}}if(e===a.length){if(j||!b.test("")){d.push("")}}else{d.push(a.slice(e))}return d.length>c?d.slice(0,c):d};cbSplit._compliantExecNpcg=/()??/.exec("")[1]===undefined;cbSplit._nativeSplit=String.prototype.split}String.prototype.split=function(a,b){return cbSplit(this,a,b)}

var MyConsole = function(method, data) {
    //console object + command
    if (window.console && window.console[method]) {
        //execute
        console[method](data);
    }
}

//FOR JSLint debugging
//var g4n = {},
//	$,
//	jQuery,
//	setTimeout,
//	arrSelectedNavAttr;

g4n.buttons = [
	'#signin-button',
	'.button-big',
	'#continue-button',
	'#pageid_forgotpassword .infoBoxContents a.button-big', //forgot password page
	'#btn-login-button',
	'#btn-profile-continue',
	'#btn-change-billing-address',
	'#btn-change-address',
	'#btn-continue-checkout',
	'#use-address-main',
	'#registry-tell-a-friend-link',// pageid_list
	'#continue-shopping',//pageid_list
	'#update-list',//pageid_list
	'#list-add-to-basket',
	'#forgot-password a',
	'#submitbutton', //pageid_registrytellafriend
	'#pageid_register #btn-profile-continue' //register page
];

g4n.text = {
	"pageid_checkoutstep2" : {
		"selector" : "text"
	}
};
g4n.contentId = function () {
	if (g4n.PAGEID.search("content") > -1) {
		$("body").attr("id", "pageid_content");
	}
};
//g4n.contentId();

g4n.setBgImage = function (selector, location, imageName) {
	var img = "url(" + location + "/" + imageName + ")";
	$(selector).css("background-image", img);
};

var getImg = function(){
	this.options = {		
		path : g4n.SITE_PATH,//must include trailing "/"
		imgFolder : "images" //default
	};
	this.attr = {
		"name" : "",
        "src" : "",
        "alt" : ""
   };
   this.location = "";
   this.rawName = "";
};

getImg.prototype = {
	cleanName: function (rawName) {
        var imageName = rawName.replace(/\W/ig, "").toLowerCase();
        return imageName;
    },
	addSlash : function(s) {
		s = $.trim(s);
		if(s !== "" || !s){
			if(s.charAt(s.length - 1) !== "/") {
				s = s + "/";
			}
			if(s.charAt(0) === "/") {
				s = s.substring(1,s.length);
			}
		}
		return s;
	},
    setAttr: function (name, location) {
		this.location = $.trim(location);
		this.rawName = $.trim(name);
        this.attr.name = this.cleanName(name);
        this.attr.src = this.options.path + 
						this.addSlash(this.options.imgFolder) + 
						this.addSlash(this.location) + 
						this.attr.name + ".jpg";
		this.attr.alt = this.rawName;
    },
    createImage: function () {
        var $img = $("<img class='designer-logo' />"),
        	that = this;

    	$img.attr(this.attr).error(function(){
	    	MyConsole("log", "This Image Does Not Exist: " + that.rawName);
	    	$img.replaceWith("<span class='image-notfound'>" + that.rawName + "</span>");
        });
    	
        return $img;
    },
	get : function (name, location, option) {
	    //combine merge passed options with script default
		if (option) {
			this.options = $.extend({}, this.options, option);
		}
        this.setAttr(name, location);
        
		return this.createImage();
		      // return this.getImage();
	}
}


g4n.makeButtons = function () {
	$.each(g4n.buttons, function (index, value) {
		$(value).addClass("btn");
	});
};
g4n.makeButtons();

g4n.makeCta = function () {
	$('#pageid_payment #btn-make-payment, #review-submit').addClass("cta");
};
g4n.makeCta();
	
g4n.cleanImgAttr = function (selectorString) {
	$(selectorString).load(function () {
		$(this).removeAttr("vspace")
		.removeAttr("hspace")
		.removeAttr("align");
	});
};
g4n.cleanImgAttr("#productphoto, .image-thumb");

g4n.searchValueReset = function (selector) {
	var $searchTextInputs = $(selector);
	$searchTextInputs.live("focus", function () {
		var $this = $(this);
		$this.data("origVal", $this.attr("value"));
		$this.attr("value", "");
	});
	$searchTextInputs.live("blur", function () {
		var $this = $(this);
		$this.attr("value", $this.data("origVal"));
	});
};
g4n.searchValueReset(".frm-reset-val");



//#panelNavigation links on/off
g4n.hidePanelNavLinks = function () {
	var $panelNav = $("#panel-navigation");	
	if(arrSelectedNavAttr.department) {
	    
	    if( arrSelectedNavAttr.department.id === "6"){
            $(".nav-category").hide();
	    } else if (g4n.PAGEID === "department" || g4n.PAGEID === "category" || g4n.PAGEID === "product") {
    		$panelNav.find(".nav-department").hide();
    		return arrSelectedNavAttr.department.id;
        }
	} else {
		$(".nav-category").hide();
		return "0";
	}

};
g4n.hidePanelNavLinks();

g4n.specialLinks = function () {
	var $panelNav = $("#panel-navigation"),
		$ul = $panelNav.find(">ul"),
		$links = $panelNav.find("a");
	$links.each(function () {
		var $this = $(this),
			text = $this.text().toLowerCase();
		switch (text) {
			case "clearance" :
				$this.addClass("clearance");
				$this.parent("li").appendTo($ul);
			break;
			default :
			break;
		}
	})
	
};
g4n.specialLinks();


g4n.setHeaderImage = function () {
    var $panelNavHeader = $("h2.header"),
		imgName = g4n.settings.sidebarHeaderImages["default"],
		imgLocation = g4n.SITE_PATH + "departments/",
		cleanTitle = function (rawTitle) {
			var cleanTitle = $.trim(rawTitle).toLowerCase().replace(" ", "-");
			return cleanTitle;
		},
		pageTitle = $(".heading-main").text(),
        catTitle,
		searchTitle;
	g4n.activeNav = {};
	if (arrSelectedNavAttr !== undefined && $.isEmptyObject(arrSelectedNavAttr) === false) {
		$.each(arrSelectedNavAttr, function (index, value) {
			var thisType = this.type,
				thisId = this.id,
				thisTitle = false;
			thisTitle = $("#" + thisType + "-" + thisId).text();
			thisTitle = cleanTitle(thisTitle);
			g4n.activeNav[thisType] = {};
			g4n.activeNav[thisType].id = thisId;
			g4n.activeNav[thisType].title = thisTitle;
		});


		//set Department
		if (g4n.activeNav.department.title) {
			imgName = g4n.settings.sidebarHeaderImages[g4n.activeNav.department.title];
		}
		
		//Assign Category image if it exists
	    if (g4n.PAGEID === "category" || g4n.PAGEID === "product") {
			catTitle = g4n.activeNav.department.title + "_" + g4n.activeNav.category.title;
			 if (g4n.settings.sidebarHeaderImages[catTitle] !== undefined) {
				imgName = g4n.settings.sidebarHeaderImages[catTitle];
			 }
	    }
		//if search page and 
	    if (g4n.PAGEID === "search") {
			searchTitle = "search_" + pageTitle;
			 if (g4n.settings.sidebarHeaderImages[searchTitle] !== undefined) {
				imgName = g4n.settings.sidebarHeaderImages[searchTitle];
			 }
		}
	} 
    //set  background image
   $panelNavHeader.css("background", "url(" + imgLocation + imgName + ") top left no-repeat");
};
g4n.setHeaderImage();


g4n.moveFooter = function () {
	$("#sitefooter").remove();
};
g4n.moveFooter();
//http://stackoverflow.com/questions/243794/jquery-ui-tabs-causing-screen-to-jump
g4n.tabs = function () {
	var $g4nTabs = $(".g4n-tabs");
	if ($g4nTabs.length) {	//test if it exists before executing jquery ui is not present on secure pages.
		$g4nTabs.children("ul").hide();
		$g4nTabs.tabs({
			ajaxOptions : {
				async : false
			},
			cache : true,
			fx : {
				opacity : 'toggle'
			}
		}).tabs("rotate", 5500, false);
	}
};
g4n.tabs();

g4n.pagination = function () {
	var $paginationTable = $("table.pagination"),
		$links = $paginationTable.find("a"),
		$top,
		$bottom,
		$ul = $("<ul class='pagination hMenu'></ul>");        
    if ($paginationTable.length) {
        $ul.append("<li class='label'><span>Page:&nbsp;</span></li>");
        $links.each(function (index, value) {
            var $this = $(this), $li = $("<li></li>");
            $li.append($this).appendTo($ul);
        });
        $top = $ul.clone();
        $bottom = $ul.clone();
        $top.insertAfter($paginationTable);
        $(".pagination-bottom").html($bottom);
        $paginationTable.remove();
    }
};
g4n.pagination();

g4n.optionMatrix = {
	settings : {
		"ajaxRefresh" : true, //enter true if matrix markup is included in ajax refresh
		titles : {
			"seldim1" : "Size"
		},
		style : {
			"default" : {
				"background-color" : "pink"
			},
			"active" : {
				"background-color" : "#ff000"
			} 
		}
	},
	setTitle : function (selectId) {
		var title,
			titleObj = g4n.optionMatrix.settings.titles,
			$thisRow;
			
		if (titleObj[selectId]) {
			title = titleObj[selectId];
		} else {
			$thisRow = $("#" + selectId).closest("tr");
			title = $thisRow.find(".matrixtitle").text();
		}
		title = $.trim(title);
		return title;
	},
	setup : function () {
	    var $matrixitemoptions = $("#matrixitemoptions"),
			$matrixOptionsTable = $("#matrixoptions"),
			$options = $matrixOptionsTable.find("select"),
			$g4nMatrixItemOptions;
		if ($("#g4n-matrixitemoptions").length) { //if it already exists do nothing compensate for non-product related AJAX
			return;
		}
			$g4nMatrixItemOptions = $("<div></div>").attr("id", "g4n-matrixitemoptions");
	    $options.each(function () {
	        var $this = $(this),
				$ul = $("<ul class='selection-options'></ul>"),
				thisId = $this.attr("id"),
				selectValue = $this.attr("value"),
				$options = $this.find("option"),
				title = g4n.optionMatrix.setTitle(thisId);
			$ul.prepend("<h3>" + title + "</h3>");
	        $options.each(function () {
	            var $this = $(this),
					text = $this.text(),
					optionValue = $this.attr("value"),
					$li = $("<li class='btn-select'></li>").text(text).attr("value", optionValue);
				if (selectValue === optionValue) {
					$li.addClass("btn-select-active");
				}
	            $li.appendTo($ul);
	        });
	        $ul.appendTo($g4nMatrixItemOptions);
	    });
		$g4nMatrixItemOptions.insertAfter($matrixitemoptions);
		$matrixitemoptions.hide();
	},
	clickToSelect : function () {
		var $selects = $("select.matrixoption"),
			$selectionOptions = $(".selection-options"),
			$optionBtns = $selectionOptions.find(".btn-select");
		$optionBtns.click(function () {
			var $this = $(this),
				selectValue = $this.attr("value"),
				$activeSelect = $selects.find("option[value=" + selectValue + "]").parent("select");
			$this.addClass("btn-select-active").siblings().removeClass("btn-select-active");
		$activeSelect.attr("value", selectValue).change();
		});
	},
	onAjaxComplete : function () {
		if (g4n.optionMatrix.settings.ajaxRefresh) {
			$("#productbody").ajaxComplete(function () {
				g4n.optionMatrix.setup();
				g4n.optionMatrix.clickToSelect();
				g4n.cleanImgAttr("#productphoto");
			});
		}
	},
	init : function () {
		g4n.optionMatrix.setup();
		g4n.optionMatrix.clickToSelect();
		g4n.optionMatrix.onAjaxComplete();
	}
};
g4n.optionMatrix.init();

function getBrands() {
    var $name,
		$thisLink,
		$brandsUl = $("<ul></ul>"),
		firstLetter,
		lastLetter,
		$indexLink,
		$indexLi,
		$index,
		$fieldProductBrand = $("#field_product_brand");
    if (!$fieldProductBrand.length) {
        return;
    }
    $fieldProductBrand.find("option").each(function () {
		var $this = $(this),
			$name = jQuery.trim($this.attr('value')),
			$linkName,
			indexClass,
			firstLetter,
			lastLetter,
			$indexUl,
			$brandsUl;
        if ($name.length) {
            $linkName = $name.replace(/%/g, "%25").replace(/-/g, "%97").replace(/ /g, "-");
            firstLetter = $name.substring(0, 1);
            indexClass = "brand-index-" + firstLetter;
            if (firstLetter !== lastLetter) {
                $indexUl = $("<dl class='brand-index'></dl>").attr("id", indexClass).append("<dt class='brand-index-header'>" + firstLetter + "</dt>");
                $brandsUl.append($indexUl);
            }
            $thisLink = $("<a></a>").attr({
                "href": "/store/search/brand/" + $linkName + "/"
            }).text($name);
            $("<dd></dd>").addClass(indexClass).append($thisLink).appendTo($indexUl);
            lastLetter = firstLetter;
        }
    });
    return $brandsUl;
}

g4n.headline = function () {
	var $headline = $("#headline").addClass("headline-" + g4n.settings.headline.type),
		$a;
	if (g4n.settings.headline.link) {
        $a = $("<a></a>").attr({
            "href": g4n.settings.headline.linklocation,
            "title": g4n.settings.headline.text
        }).text(g4n.settings.headline.text).appendTo($headline);
	} else {
		$headline.text(g4n.settings.headline.text);
	}
	$headline.show();
};
if (g4n.settings.headline.status === "on") {
	g4n.headline();
}


g4n.renderAdvSearch = function () {
	var $container = $(".render-advsearch"),
		$ul = $("<ul class='grid grid-brands one4th'></ul>"),
		field = $container.attr("rel"),
		$fieldOptions,
		dataObj = {};
	switch (field) {
		case "brands":
			$fieldOptions = $("#field_product_brand option");
			break;
		case "themes":
			$fieldOptions = $("#theme_dropdown option");
			break;
		default:
			$fieldOptions = false;
			break;
	}
	//create dataObj from option elements
	if ($fieldOptions) {
		$fieldOptions.each(function (index) {
			var $option = $(this),
				value = $option.attr("value") || false,
				text = $option.text();

			if (value && value !== "") { //ignore empty value
				dataObj[index] = {};
				dataObj[index].value = value;
				dataObj[index].text = text;
			}
			
		});

	} else {
		$container.html("<p class='alert'>NOTHING to Render</p>");
	}
	
	$.each(dataObj, function (index, oOption) {
		var value = oOption.value,
			getImage = new getImg(),
			text = oOption.text,
			url = g4n.BASE_PATH + "search/brand/" + encodeURI(text) + "/",
			$li = $("<li class='item'></li>"),
			$a = $("<a class='inner'></a>").text(text).attr({
				"href" : url,
				"title" : "view all " + text + " on " + g4n.STORENAME
			}).data("brand", value),
			$logo = getImage.get(text, "", {"imgFolder" : "designers"});
		$a.html($logo);
		
		$li.append($a).appendTo($ul);
	});
	$container.html($ul);
	
	// $container.find("a").click(function (event) {
		// var thisClicked = $(this),
			// brand = thisClicked.data("brand"),
			// $brandSelect = $("#field_product_brand");
			// $brandSelect.attr("value", brand).change();
	// });
};
g4n.renderAdvSearch();


g4n.brandPageHeader = function(){
	var getImage = new getImg();
	$("#table-navigation h1.heading-main").html(getImage.get(g4n.SEARCHBRAND, "", {"imgFolder":"designers"}));
};
if(g4n.PAGETYPE === "brand"){
	g4n.brandPageHeader();
}



g4n.checkoutstep2 = function () {
	var $shipForm = $("#shippingform"),
		$divSections = $shipForm.children("div"),
        $mainHeading = $("h1.heading-main").text("Shipping/Delivery information");
		
	(function () {
		var $currentShipAddr = $("#shipping-address"),
			$table = $currentShipAddr.find("table:eq(0)"),
			$address = $currentShipAddr.find("td.text-shipping").contents(),
			$addrWrap = $("<address></address>"),
			$header;
		$currentShipAddr.removeAttr("align");
		$header = $("<h3></h3>").text("Current Shipping Address:");
		$header.appendTo($currentShipAddr);
		$addrWrap.append($address).appendTo($currentShipAddr);
		$table.remove();
	}());
	(function () {
		var $input = $("#checkout-section-comment").find("input[type=textbox]"),
			$textarea = $("<textarea></textarea>").attr({
				"maxlength" : "200",
				"name" : "comment",
				"rows" : "3"
			});
		$textarea.insertAfter($input);
		$input.remove();
	}());
	$("#checkout-section-continue").find("table:eq(0)").hide();
	$divSections.find("table:eq(0)").addClass("header");
};
if ($("#pageid_checkoutstep2").length) { g4n.checkoutstep2(); }


g4n.textareaMax = function () {
	$('textarea[maxlength]').keyup(function () {
		var $this = $(this),
			limit = parseInt($(this).attr('maxlength'), (10)),	//get the limit from maxlength attribute
			text = $(this).val(),	//get the current text inside the textarea
			chars = text.length,
			new_text;	//count the number of characters in the text

		//check if there are more characters then allowed
		if (chars > limit) {
			//and if there are use substr to get the text before the limit
			new_text = text.substr(0, limit);
			//and change the current text with the new text
			$this.val(new_text);
		}
	});
};
g4n.textareaMax();

var addThis = function () {
    var delay = 400;
    function hideMenu() {
        if (!$('.custom_button').data('in') && !$('.hover_menu').data('in') && !$('.hover_menu').data('hidden')) {
            $('.hover_menu').fadeOut('fast');
            $('.custom_button').removeClass('active');
            $('.hover_menu').data('hidden', true);
        }
    }
    
    $('.custom_button, .hover_menu').mouseenter(function () {
        $('.hover_menu').fadeIn('fast');
        $('.custom_button').addClass('active');
        $(this).data('in', true);
        $('.hover_menu').data('hidden', false);
    }).mouseleave(function () {
        $(this).data('in', false);
        setTimeout(hideMenu, delay);
    });    
};

addThis();

g4n.loadBanner = function () {
	var $bnrs = $(".bnr-load");
	
	$bnrs.each(function () {
		var $this = $(this),
			rel = $this.attr("rel");
		switch (rel) {
			case "newsletter":
				$this.load(g4n.SITE_PATH + "banners/newsletter/newsletter.html");
				break;
			default:
				break;
		}
	});
};
g4n.loadBanner();

g4n.brandLink = function(){
	var $links = $("a[data-g4n-brandlink]"),
		insertLogo = function($link){
			var name = $link.attr("data-g4n-brandlink"),
				getImage = new getImg(),
				hrefTmpl = "/store/search/brand/[[NAME]]/",
				encodedName = encodeURI(name),
				url = hrefTmpl.replace("[[NAME]]", encodedName),
				$logo = getImage.get(name, "", {"imgFolder" : "designers"});

			$link.html($logo);
			$link.attr("href",url);
		};
	$links.each(function(){
		var $this = $(this);
		insertLogo($this);
	});
};
g4n.brandLink();
$("#productbody").ajaxSuccess(function(){
	g4n.brandLink();
});


g4n.advSearchForm = {
	"settings" : {
		"baseName" : "advsearchform"
	},
	"setState" : function(){
		var query = window.location.search.substring(1),
			vars = query.split("&"),
			varLength = vars.length,
			pair,
			queryObj = {};
		if(varLength > 0){
			for (var i = 0; i < varLength; i = i + 1) {
					pair = vars[i].split("=");
					queryObj[pair[0]] = pair[1];
			}
			return queryObj;
		}
	},
	"formAttr" : {
		"action" : g4n.BASE_PATH + "advsearch.asp",
		"method" : "post",
		"name" : function () {
			var name = g4n.advSearchForm.settings.baseName;
			return name;
		}
	},
	"getBrands" : function(){
		var $brandSelect = $("<select></select>").attr({"name":"product_brandname"}),
			$options = $("#field_product_brand option").clone();
		$brandSelect.append($options);
		return $brandSelect;
	},
	"create" : function (paramObj) {
		var $form = $("<form />"),
			$state = $("<input />").attr({"type":"hidden","name":"g4n-AdvSearch","value":"department"}),
			$pageTitle = $("<input />").attr({"type":"hidden","name":"g4n-PageTitle","value":paramObj.pageTitle}),
			$submitted = $("<input />").attr({"type":"hidden","name":"submitted","value":"1"}),
			$hideOptions = $("<input />").attr({"type":"hidden", "name":"hideform", "value" : paramObj.hideform});
		$form.attr(g4n.advSearchForm.formAttr)
			.append(g4n.advSearchForm.getBrands())
			.append($state)
			.append($pageTitle)
			.append($submitted)
			.append($hideOptions);
		return $form;
	},
	"init" : function(){
		var $frmSearchResults = $("#frmSearchResults"),
			$pageTitle = $frmSearchResults.find("input[name=g4n-PageTitle]"),
			pageTitle;
		if(g4n.PAGEID === "search" && $pageTitle.length){
			pageTitle = unescape($pageTitle.attr("value"));
			$(".heading-main").text(pageTitle);
		}
	}
};
g4n.advSearchForm.init();

function searchQueryString() {
	var query = window.location.search.substring(1),
		vars = query.split("&"),
		pair,
		queryObj;
	for (var i = 0, length = vars.length; i < length; i = i + 1) {
			pair = vars[i].split("=");
			queryObj[pair[0]] = pair[1];
	}
}
//add advanced search form to dept, category pages
g4n.searchByBrand = {
    "applyTo": ["department", "category"],
    "form": {},
    "setForm": function(){
        g4n.searchByBrand.form = g4n.advSearchForm.create({
            "fields": ['brand'],
            "pageTitle": g4n.TITLE
        });
    },
    "addFields": function(){
        var $deptInput = $("<input />").attr({
            "type": "hidden",
            "name": "product_departmentid",
            "value": arrSelectedNavAttr.department.id
        }), 
		$catInput;
        g4n.searchByBrand.form.append($deptInput);
		
        if (g4n.PAGEID === "category") {
            $catInput = $("<input />").attr({
                "type": "hidden",
                "name": "product_categorylink",
                "value": arrSelectedNavAttr.category.id
            });
            g4n.searchByBrand.form.append($catInput);
        }
    },
    "insert": function(destinationSelector){
        g4n.searchByBrand.form.appendTo(destinationSelector);
    },
    "bindChangeEvent": function(){
        g4n.searchByBrand.form.find("select").change(function(){
            g4n.searchByBrand.form.submit();
        });
    },
    "init": function(destinationSelector){
        //apply to only pages in applyTo array
        if ($.inArray(g4n.PAGEID, g4n.searchByBrand.applyTo) !== -1) {
            g4n.searchByBrand.setForm();
            g4n.searchByBrand.addFields();
            g4n.searchByBrand.insert(destinationSelector);
            g4n.searchByBrand.bindChangeEvent();
        }
    }
};
g4n.searchByBrand.init("#content .header");

g4n.breadcrumb = {
	"pages" : ["department","category","product"],
	"linkObject" : $("<div></div>"),
	"addArrSelNavAtt" : function(){
		var length = arrSelectedNavAttr.length;
		$.each(arrSelectedNavAttr, function(index, element){
			var type = element.type,
				id = element.id,
				$link = $("#" + type + "-" + id + " a").clone();
			$link.appendTo(g4n.breadcrumb.linkObject);
		});
	},
	"insert" : function(destination){
		g4n.breadcrumb.linkObject.appendTo(destination);
	},
	"init" : function(destination){

		if($.inArray(g4n.PAGEID, g4n.breadcrumb.pages) !== -1){
			g4n.breadcrumb.addArrSelNavAtt();
			g4n.breadcrumb.insert(destination);
		}
	}
};
g4n.breadcrumb.init("#breadcrumb");


$("[data-g4n-addthis-toolbox]").each(function(){
    var $this = $(this),
        data = $this.attr("data-g4n-addthis-toolbox"),
        $heading = $this.find(".heading"),
        socNetAry = cbSplit(data, ",");
        $btnWrap = $("<div class='g4n-btn-wrap'></div>");
    $this.parent().addClass("g4n-addthis-toolbox-parent");
    $this.addClass("addthis_toolbox addthis_32x32_style addthis_default_style g4n-addthis_vertical");
    
    $.getScript("http://s7.addthis.com/js/250/addthis_widget.js#async=1");
    $.each(socNetAry, function(index, strSocNet){
        var $a = $("<a></a>");
        $a.addClass("g4n-addthis_btn").addClass("addthis_button_" + strSocNet);
        
        switch (strSocNet) {
            case "google_plusone" :
                $a.attr("g:plusone:size","medium")
                break;
            case "counter" :
            
                break;
            default:
                break;
        }
        $a.appendTo($btnWrap);
    });
    $btnWrap.insertAfter($heading);
    
    $this.show();
    if(addthis){
        addthis.init();
    }
});

(function($){
	var pinterestTmpl = function(obj){
		var addThisTmpl = '<div class="addthis_toolbox_pinterest addthis_toolbox addthis_default_style"><a class="addthis_button_pinterest" pi:pinit:url="[[PRODUCT_URL]]" pi:pinit:media="[[IMAGE_SRC]]" pi:pinit:layout="horizontal"></a></div>';
		return addThisTmpl.replace("[[PRODUCT_URL]]", obj.href).replace("[[IMAGE_SRC]]", obj.src).replace("[[PRODUCT_DESCRIPTION]]", obj.description);
	};
	$("#product-listing li").each(function(){
		var $this = $(this),
			attrObj = {},link;
		attrObj.href = $this.find("a").attr("href"),
		attrObj.src = $this.find("img.image-thumb").attr("src"),
		attrObj.description = $this.find(".product-description").text(),
		link = pinterestTmpl(attrObj);
		$this.prepend(link);
	});
	$("#pageid_product").each(function(){
		var attrObj = {},link;
		attrObj.href = document.location;
		attrObj.src = $("#productphoto").attr("src");
		attrObj.description = $(".heading-product").text();
		
		link = pinterestTmpl(attrObj);
		$("#product-image-table").prepend(link);
	});
	addthis.toolbox(".addthis_toolbox_pinterest");
}(jQuery))


$("#pageid_search").find("#search-button").attr("class","btn action btn-orange orange-bg").wrap("<div class='actions' />");


