// JavaScript Document 3/3/2014

// menus turn responsive
$(document).ready(function ()
{
    //header nav
   $('#header .ddsmoothmenu-h,#header .ddsmoothmenu-v').slicknav({
        label : '',
        duplicate: true,
        before: '#pageContainer',
        duration: 800,
        easingOpen: 'swing',
        easingClose:'swing',
        closedSymbol:"&#9658;",
        openedSymbol:"&#9660;",
        allowParentLinks:true
    });

    //left navigation
    $('#leftcolumn .ddsmoothmenu-v,#leftcolumn .ddsmoothmenu-h').slicknav({
        label : '',
        duplicate: true,
        prependTo: '#leftcolumn',
        duration: 800,
        easingOpen: 'easeOutBack',
        easingClose:'easeInOutBack',
        allowParentLinks:true
    });

    var $catName = $('#leftcolumn .ddsmoothmenu-h .categoriesNavTitle,#leftcolumn .ddsmoothmenu-v .categoriesNavTitle').text();
    $('#leftcolumn .slicknav_menutxt').html($catName);

    //right navigation
    $('#rightcolumn .ddsmoothmenu-v,#rightcolumn .ddsmoothmenu-h').slicknav({
        label : '',
        duplicate: true,
        prependTo: '#rightcolumn',
        duration: 800,
        easingOpen: 'easeOutBack',
        easingClose:'easeInOutBack',
        allowParentLinks:true
    });


    //left brands
    $('#leftcolumn .brandsNavContainer').slicknav({
        label : '',
        duplicate: true,
        prependTo: '#leftcolumn',
        duration: 800,
        easingOpen: 'easeOutBack',
        easingClose:'easeInOutBack',
        allowParentLinks:true
    });

    $('.slicknav_menu h3.brandsNavTitle, .slicknav_menu  h3.categoriesNavTitle ').remove();

    //add unique class to the mobile menues
    $(".slicknav_menu").each(function(index, obj){ $(this).addClass(" mobileNav"+ index) });

    // Slicknav Dropdown Fixe
    var $menuActive = $('.slicknav_item a.menuactive');
    var $slicknavItem =$('.slicknav_item');

	//Add Menuactive Class to Entire Button and Remove from Child (Always Use)
    if ($menuActive.length > 0)
    {
	    $menuActive.parent().addClass('menuactive');
	    $menuActive.removeClass('menuactive');
	}

	//Make Entire Button Control Dropdown if Page Set to Unclickable (Always Use)
    $slicknavItem.each(function(){
        var item = $(this).children('a[href*="void"]');
        var button = item.text();
        item.remove();
        $(this).prepend(button);
    });

    //change the order of the contact form and the content
    var $contactForm = $("#MainContent_contactFormContainer");
    var $contactFormInner = $('#contactForm');
    $("#maincolumn").append($contactForm);
    $(".wd-append-contact td").append($contactFormInner);
    $(".newCustomerContainer").before($(".loginContainer"));

    // back to top button
    $().UItoTop({ easingType: 'easeOutQuart' });


    //gallery hover effect
    $('#galleryImages ul li').hover(
		    function ()
		    { $(this).find('img').stop().animate({opacity: ".6"}, 300); },
		    function ()
		    { $(this).find('img').stop().animate({ opacity: "1.0" }, 300); }
    );

});//end ready

// use to arrange elemets of v5
var elementPosition = function (option)
{
    var selectMove = option.selectMove;
    var moveTo = option.moveTo;
    var moveDown = option.moveDown || false;
    var moveIn = option.moveIn || false;
    selectMove = $(selectMove);
    moveTo = $(moveTo);

    if (moveIn === false)
    {
        if (typeof moveTo !== undefined && moveDown === false)
            moveTo.before(selectMove);
        else if (moveDown === true)
            moveTo.after(selectMove);
    }
    else
    {
        if (typeof moveTo !== undefined && moveDown === false)
            selectMove.prependTo(moveTo);
        else if (moveDown === true)
            selectMove.appendTo(moveTo);
    }
};

// this will allow to create a full width strips on the website by assigning the table an ID(any name) and a class of strip
var fullWidthStrip = function (option) {
    var onlyHome = option.onlyHome || false;
    var parallax = option.parallax || false;
    var paraSpeed = option.paraSpeed || 5;
    var paraSpeedInner = option.paraSpeedInner || 5;

    var init = $(function () {

        // chace DOM
        var $self = $(this);
        var $mainColumn = $('#maincolumn');
        var $mainContent = $('#maincolumn > div');
        var $tableSelect = $('.strip, .tableDefault');
        var $url = window.location.pathname.split('/');
        var $padth = $url[1];
        var $pathLower = $padth.toLowerCase();
        var $mainContentParent = $mainContent.parents('#maincolumn,#pageContainer,#columnsContainer');
        var $loginContainer = $('.loginContainer'); //arange the log in section
        var $newCustomerContainer = $('.newCustomerContainer');
        var $MainContent_secBilling = $('#MainContent_secBilling');
        var $RightContainer = $('#RightContainer');

        /*find elements to  wrap width div containers */
        var $blogAndProducts = $mainContent.find('#MainContent_secGallery,div[itemtype="http://schema.org/Product"]');
        var $wdElements = $mainContent.find('#secMainInstruction,.MsoNormal');
        var $wdContent = $mainColumn.find('.loginContainer,.breadcrumb,.cartTitle,.myAccountNewAccount,#MainContent_panelcart,#dvRegisterLeft,.socialMediaShare,#formNewsletterSignup');

        var paddingClass = 'content-padding';
        var containClass = 'content-contain';
        var wdElementPad = 'wd-element-padding';
        var wdContentPadding = 'wd-content-padding';

        /*wraps*/
        var wdElementWrap = '<div class="' + containClass + '" data-type="content"><div class="' + wdElementPad + ' ' + paddingClass + '"></div></div>';
        var wdContentWrap = '<div class="' + containClass + '" data-type="content"><div class="' + wdContentPadding + ' ' + paddingClass + '"></div></div>';
        var containerWrap = '<div class="' + containClass + '"></div>';

        // Bind Events
        // render
        render();

        function render() {
            /*produtcs,blog wrap*/
            $blogAndProducts.wrap(wdElementWrap);
            $wdElements.wrap(wdElementWrap);
            $wdContent.wrap(containerWrap);

            /* arange */
            $loginContainer.after($newCustomerContainer);
            $RightContainer.after($MainContent_secBilling);

            if ($pathLower === 'store' && $pathLower === 'myaccount')
            { $mainContent.wrap(containerWrap); }

            //make #maincolumn,#pageContainer,#columnsContainer 100%
            if (onlyHome === true)
            {
              //if ($pathLower !== 'edit' && ($padth === '' || $padth === 'default.aspx'))
                if ($pathLower !== 'edit' && ($padth === '' || $padth === 'default.aspx' ||  /\/home$/.test(window.location.pathname.toLowerCase())) )
                {
                    $mainContentParent.css({
                        width: '100%',
                        maxWidth: '100%'
                    });
                }
            }
            else
            {
                if ($pathLower !== 'edit')
                {
                    $mainContentParent.css({
                        width: '100%',
                        maxWidth: '100%'
                    });
                }
            } //end else

            //wrap tables with divs
            $tableSelect.each(function () {

                var $this = $(this);
                var $elementId = $this.attr('id');
                var $getclass = $this.attr('class');
                var $innerTable = $this.next('table');
                var $styles =
                    {
                    backgroundColor: $this.css('background-color'),
                    backgroundImage: $this.css('background-image')
                    };

                var contentWrap = '<div class="' + containClass + ' " data-type="content"><div class="' + $elementId + '-padding ' + paddingClass + ' "></div></div>';
                var $tablesWrap = '<div class="' + $elementId + '-wrap section " data-type="background" data-velocity="' + paraSpeed + '" ><div class="' + $elementId + '-wrap-inner" data-type="backgroundInner" data-velocity="' + paraSpeedInner + '">' + contentWrap + '</div></div>';

                $this.css({
                    'background-color': 'transparent',
                    'background-image': 'none'
                });

                $this.wrap($($tablesWrap).css($styles));

            }); //end each

            if (parallax === true)
            {
                $.getScript('/Responsive/js/jquery.scrolly.js', function ()
                { $('.parallax').scrolly({bgParallax: true}); });
            }

        } //end render
    });

    init = null;

};//end strips


// mobile contact Menu
var mobileContactMenu = function(option) {
  //options
  var phone = option.phone || null;
  var email = option.email || null;
  var location = option.location || null;

   var init = $(function () {

  if ( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)){
	  // chace DOM
		var $body = $('body');
        var $footer = $('#footerwrap');
        var $topTop= $('#toTop');

        /*wraps*/
        var mobileBtnMenu =  '<div class="mobileBtnMenu"><nav><ul class="btn-group"><li class="menu-call"><a class="btn-call" href="tel:'+phone+'">&nbsp;</a></li><li class="menu-email"><a class="btn-email" href="mailto:'+email+'">&nbsp;</a></li><li class="menu-location"><a class="btn-location" href="'+location+'" target="_blank">&nbsp;</a></li></ul></nav></div>';

        // Bind Events


        // render
        render();

        function render() {
			$body.css('padding-bottom','46px')
			$topTop.css('bottom','55px')
            $footer.after(mobileBtnMenu);

			if(phone === null){

				alert('Please enter Phone Number on the javascript section');

			}else if( email === null ){

				alert('Please enter Email on the javascript section');

			}else if( location === null){

				alert('Please enter location on the javascript section  "Google Link or any map link" ');

			}//end of if statement




        } //end render


  }

    });

  init = null;
}; //end of mobile contact menu


//change order of product images and names
var productNameArrange = function(){

      var init = $(function(){
            var $productList = $('#productImages li');

             $productList.each(function(){
                   var image = $(this).children('.productListImageContainer'); //get images container
                   var name = $(this).children('.productListNames'); //get names container
                  name.before(image);//change order

                });//end of each
      });//end init

    init=null;

};///end arrange product images and name


// Turn tables in to ul List
//use $("#responsiveTable,.tableDefault").createdUl();
//as of 2/19/2015 will no longer be use

jQuery.fn.createdUl = function() {
		 return this.each(function(index) {
		 var $class = $(this).attr( 'class');
		 var $id = $(this).attr('id');
		 var ul = $('<ul>').addClass($id+' '+ $class + ' hidFull tbList tbListStyle' + index);

				$(this).find('td').each(function(i) {
						var values = $(this).html().split('*');
						if(i == 0) {
							var li = $('<li>');
							$.each(values, function(y) {
								 li.html(values[y]);
							});
							 ul.append(li);
						}else{
							var li = $('<li>');
							$.each(values, function(y) {
								 li.html(values[y]);
							});
							 ul.append(li);

						}//end else
				});//end each
			$(this).after(ul).addClass('showFull').removeClass('tableDefault');

		 });//each return

}//end plug-in

//make tables responsive
jQuery.fn.tableRespo = function ()
{
    return this.each(
    function(index)
    {
        $(this).addClass('table-responsive');
        var $tablesResponsive  = $('.table-responsive');

        $tablesResponsive.each(
        function ()
        {
			var $colCount = $(this).find('td').length;
			if ($colCount <= 1)
			{
			    $(this).find('td').attr('style','width:100%!important');
			}
		});

        // Find all iframes
        var $iframes = $( "iframe" );

        // Find & save the aspect ratio for all iframes
        $iframes.each(
        function ()
        {
	        $( this ).data( "ratio", this.height / this.width )
	        // Remove the hardcoded width & height attributes
	        .removeAttr( "width" )
	        .removeAttr( "height" );
        });

        // Resize the iframes when the window is resized
        $(window).resize(
        function ()
        {
            $iframes.each(
            function ()
            {
                // Get the parent container's width
                var width = $(this).parent().width();
                $(this).width(width).height(width * $(this).data( "ratio" ));
            });
        // Resize to fix all iframes on page load.
        }).resize();
	});
}

//11-10-2014
//images size for responsive adjustment
jQuery.fn.imgResize = function ()
{
    /*	return this.each(function(index){
    var imgWith = $(this).outerWidth();
    var imgHeight = $(this).outerHeight();
    var style = {maxWidth:imgWith,maxHeight:imgHeight,width:'100%',height:'auto'}
    $(this).css(style);
    });
    */
}

$(function(){
	//remove empty uls
	 $('.tbList li').each(function(){
	var checkLi = $(this).text();
	if(checkLi == ''){
	 $(this).remove();
	}
	});//end each
});//end ready

//5/15/2015
//iframe responsive plugin
jQuery.fn.iframesResponsive = function ()
{
    return this.each(
        function (index)
        {
            var $iframes = $(this);
            $iframes.wrap('<div class="responsive-iframe-container"></div>');
        }
    );//end each
}//end plugin
