﻿/// <reference name="MicrosoftAjax.js"/>
    
    function changeImage(id,shtml) {
       if (document.getElementById || document.all) {
          var el = document.getElementById? document.getElementById(id): document.all[id];
          if (el && typeof el.innerHTML != "undefined") el.innerHTML = shtml;
       }
    }	

    var sMoreProdModels = 'idMoreProductModels';
    var sShowHideText = 'idShowHideText';
    
    function toggleProdModels(){
        $get(sMoreProdModels).style.display=="none"? showProdModels() : hideProdModels();
    }
    
    function showProdModels(){
        $get(sMoreProdModels).style.display = "";
        $get(sShowHideText).innerHTML = showLessText + " <img src='/img/i_red-arrow-up.gif' border='0'/>";
    }
    
    function hideProdModels(){
        $get(sMoreProdModels).style.display = "none";
        $get(sShowHideText).innerHTML = showAllText + " <img src='/img/i_red-arrow-down.gif' border='0'/>";
    }


    function scrollToAnchor(anchorName) {
        var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
        if (isIE) {
          window.scrollTo(0,findPosY($get(anchorName)));
        } else  {
          location.hash = anchorName;
        }
    }

    function findPosY(obj)
    {
        var curtop = 0;
        if (obj != null)
        {
            if (obj.offsetParent)
            {
                while (obj.offsetParent)
                {
                    curtop += obj.offsetTop;
                    obj = obj.offsetParent;
                }
                curtop += obj.offsetTop;
            }
            else if (obj.y)
                curtop += obj.y;
        }
        return curtop;
    }

    
//## Begin Region: AJAX Order Button Functions
    
    function orderPart(whichButton,whichPartNum,whichImgSrc) {
        var $YU = YAHOO.util;
    
        //Disable button so it can't be clicked twice
        $get(whichButton).disabled = true;
        
        //Clone button to make a proxy for fly-to-cart Motion
        var proxyButton = $get(whichButton).cloneNode(false);
        proxyButton.id = 'idOrderShape';
        $get('idMainContentContainer').appendChild(proxyButton);

        var startloc = $YU.Dom.getXY(whichButton);
        var endloc = $YU.Dom.getXY('idHeaderCart');
        var attributes = { points: {from: startloc, to: endloc}, opacity: {to: .7}};
        var anim = new $YU.Motion(proxyButton.id, attributes, 0.3, $YU.Easing.easeOut);
        anim.onComplete.subscribe(function(){$get('idMainContentContainer').removeChild(proxyButton);
                                             quietBasket(whichButton,whichPartNum,whichImgSrc);});
        shakeCart();
        anim.animate();
    }
    
    function quietBasket(whichButton,whichPartNum,whichImgSrc) {
        var callback = { cache:false,
                         success: function(o){if (o.responseText.search("message value='Items added'") > -1) {orderSuccess(whichButton,whichPartNum,whichImgSrc);}
                                              else {alert('Your session has timed out. Please log back in before adding items to your cart.');window.location.reload(true);}},
                         failure: function(){$get(whichButton).disabled=false;alert('An error occurred. Please verify your cart contents.');},
                         timeout: 10000 };
        var orderPartRequest = YAHOO.util.Connect.asyncRequest('GET','/dealeronly/quietbasket.aspx?partlist='+whichPartNum+'&qtylist=1', callback);
    }
    
    function orderSuccess (whichButton,whichPartNum,whichImgSrc) {
        var $YUD = YAHOO.util.Dom;
        
        //Re-Enable clicked button
        $get(whichButton).disabled = false;
        
        var locX = (($YUD.getViewportWidth())/2) - 250 + $YUD.getDocumentScrollLeft();
        var locY = ($YUD.getViewportHeight()/3) + $YUD.getDocumentScrollTop();

        //Set Order Message Content
        $YUD.setStyle('idOrderMessage','opacity','0');
        $YUD.setStyle('idOrderMessage','display','');
        $YUD.setXY('idOrderMessage',[locX,locY]);
        $get('idOrderMessagePartNum').innerHTML = whichPartNum;
        $get('idOrderMessageImg').src = (whichImgSrc=='') ? mainImage : whichImgSrc ; // mainImage value set via codebehind.
        $get('idOrderMessageNm').innerHTML = $get('idModelNm'+whichPartNum).innerHTML;
        $get('idOrderMessageVr').innerHTML = $get('idModelVr'+whichPartNum).innerHTML;

        //Enable Mask
        $YUD.setStyle('idMask','display','');
        $YUD.setStyle('idMask','height',$YUD.getDocumentHeight());
        $YUD.setStyle('idMask','width',$YUD.getDocumentWidth());

        //Fade in order msg
        var attributes = { opacity: {from: 0, to: 1} };
        var anim = new YAHOO.util.Anim('idOrderMessage',attributes,0.2);
        anim.onComplete.subscribe(function(){$get('idOrderMessage').style.removeAttribute('filter');}); //Google 'IE7 ClearType Opacity' for reason.
        anim.animate();
    }

    function hideMsg() {
        var $YU = YAHOO.util;

        //Hide Mask, Fade out order msg
        $YU.Dom.setStyle('idMask','display','none');
        var attributes = { opacity: {from: 1, to: 0} };
        var anim = new $YU.Anim('idOrderMessage',attributes,0.2);
        anim.onComplete.subscribe(function(){$YU.Dom.setStyle('idOrderMessage','display','none');});
        anim.animate();
    }

    function shakeCart() {
        var $YU = YAHOO.util;
        var xy = $YU.Dom.getXY('idHeaderCart');
        var anim = new $YU.Motion('idHeaderCart',{ points: {to:[xy[0],xy[1]-2]} },0.5, $YU.Easing.elasticBoth);
        anim.onComplete.subscribe(function(){$YU.Dom.setXY('idHeaderCart',xy);});
        anim.animate();
    }
    
//## End Region: AJAX Order Button Functions


//## Begin Region: SWF Popup Functions

    function swfPopup() {
        var $YUD = YAHOO.util.Dom;
        
        var locX = (($YUD.getViewportWidth()) / 2) - 505 + $YUD.getDocumentScrollLeft();
        //var locY = ($YUD.getViewportHeight() / 2) - 380  + $YUD.getDocumentScrollTop();
        
        //Display the swf
        $YUD.setStyle('idSwfPopup', 'display', '');
        $YUD.setXY('idSwfPopup', [locX, 0]);
                       
        //Enable mask
        $YUD.setStyle('idSwfMask', 'display', '');
        $YUD.setStyle('idSwfMask', 'height', $YUD.getDocumentHeight());
        $YUD.setStyle('idSwfMask', 'width', $YUD.getDocumentWidth());
    }
    
    function hideSwfBox() {
        var $YUD = YAHOO.util.Dom;
        $YUD.setStyle('idSwfMask','display','none');
        $YUD.setStyle('idSwfPopup','display','none');
    }

//## End Region: SWF Popup Functions