var _browser = navigator.userAgent.toLowerCase();
var _browser_ver = navigator.appVersion.substring(0,1);
var _browser_version = navigator.appVersion;
var _request;	// ajax
var t_code = '';		// items temp


function move(selectId, incr) {
    // var objSelect = document.myForm.ts;
    var objSelect = document.getElementById(selectId);
    var index = objSelect.selectedIndex;
    if (index+incr >= objSelect.options.length || index+incr < 0) {
        if (index+incr >= objSelect.options.length) {
            alert("Cannot move bottom item down");
        } else {
            alert("Cannot move top item up");
        }
    } else {
        var objOption = objSelect.options[index+incr];
        var text = objOption.text
        var value = objOption.value
        var oldOption = new Option(text, value);
        var newOption = objSelect.options[index];
        objOption.text = newOption.text;
        objOption.value = newOption.value;
        newOption.text = oldOption.text;
        newOption.value = oldOption.value;
        oldOption = null;
        objSelect.selectedIndex = index+incr;
    }
}
  
  
  
function dlte(selectId) {
    var objSelect = document.getElementById(selectId);
    var index = objSelect.selectedIndex;
    objSelect.remove(index);
    return true;
}
  
  
  
function selectAllOptions(selectId) {
    a=document.getElementById(selectId);
    for(i=0;i<a.length;i++) {
        a.options[i].selected=true;
    }
    return (true);
}
  
  
  
function addOption(selectId, val) {
    a = document.getElementById(selectId);
    if (val != null) {
        // a.options[1+a.length] = new Option(val,val);
        o = document.createElement("option");
        o.setAttribute("value", val);
        o.appendChild(document.createTextNode(val));
        a.appendChild(o);
        return (true);
    }
    return (false);
}



function wndo(wurl, iw, ih) {
    window.open(wurl,'dotwin',
        'width='+ iw +', height='+ ih
        +', scrollbars=no, resizable=no, location=no, menubar=no, status=yes, toolbar=no');
    return (false);
}


/*

 ajax_addtocart(code, quant=1) {
 	// call server w/ add to cart request
 	// update item msg area {added to your cart, already in your cart}
 	// update microcart area
 }
 
 
 ajax_updatemicrocart() {
 	// call server w/ get microcart items request
 	// update microcart area
 	
 	//
 	// request may need to supply name of callback function,
 	// e.g. callback_updatemicrocart($content) 
 	//
 	
 	if (ajaxHtml = ajax_request('microcart','')) {
 		divMicrocart.innerHtml = '';
 		divMicrocart.innerHtml = ajaxHtml;
 	}
 }
 
 _browser_ok() {
 	// if browser is supported, return true, else false
 }
 

*/
 
 

function createRequest() {
    try {
        _request = new XMLHttpRequest();
    } catch (trymicrosoft) {
        try {
            _request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (othermicrosoft) {
            try {
                _request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (failed) {
                _request = false;
            }
        }
    }
// debug
// if (!request) alert("Error initializing XMLHttpRequest!");
}

function ajax_dwait(elementId, wait, icon) {
    // if (wait) document.getElementById(elementId).className = 'wait';
    // else document.getElementById(elementId).className = 'nowait';

       
    var el = document.getElementById(elementId);
    el.className = 'nowait';

    if (wait) {
        el.innerHTML = '<img src="'+_webbase+'theme/i/wait.gif" alt="" border="0" />';
    } else {
        if (icon==null) {
            el.innerHTML = '&nbsp;';
        } else {
            el.innerHTML = '<img src="'+_webbase+'theme/i/icon_'+icon+'.gif" alt="" border="0" />';
        }
    }
}

function ajax_updateshippingtable(providerId) {
    var co = document.getElementById('coid');
    var i_coid = co.options[co.selectedIndex].value;
    // alert (i_coid);					// debug
    // document.getElementById("ship_wait").innerHTML = '...';
    ajax_dwait('ship_wait', true);
    ajax_getshippingtable(i_coid, providerId);
}


function ajax_getshippingtable(coid, providerId) {
    var url = _webbase+"ajaxhtml.php?cmd=shipping&arg=coid%3d"+coid+";;;provider%3d"+providerId;
    // alert ('calling: '+url);			// debug
	
    createRequest();
    _request.open("GET",url,true);
    _request.onreadystatechange = ajax_updateshippinginfo;
    _request.send(null);
}


function ajax_updateshippinginfo() {
    // alert('readystate: '+_request.readyState);	// debug
    if (_request.readyState == 4) {
        if (_request.status == 200) {		// all is good
            var response = _request.responseText;
            // alert (response);
            document.getElementById('shipinfodiv').innerHTML = response;
            ajax_dwait('ship_wait', false);
        }
    }
	
}

function ajax_togglevar(varname) {
    var url=_webbase+"ajaxhtml.php?cmd=togglevar&arg="+varname;
    ajax_get(url, function(){});
}

function ajax_setvar(varname, value) {
    var url=_webbase+"ajaxhtml.php?cmd=setvar&n="+varname+"&v="+value;
    ajax_get(url,function(){});
}

function ajax_addtocart(code) {
    if (code == 0 || code.length > 6){
        alert("Please choose a size in the drop-down box.");
        return;
    }

    if (t_code == '') {
        t_code = code;
        ajax_dwait('wait_'+code, true);
        var url=_webbase+"ajaxhtml.php?cmd=cart&arg=act%3dadd;;;code%3d"+code;
        ajax_get(url, ajax_updateitemmsg);
    }
}




function ajax_updateitemmsg() {
    if (_request.readyState ==4) {
        if (_request.status == 200) {
            var resp = _request.responseText;
            document.getElementById('msg_'+t_code).innerHTML = resp;
            if (resp.toLowerCase().indexOf('added') > -1) {
                ajax_dwait('wait_'+t_code, false, 'cart');
            } else {
                ajax_dwait('wait_'+t_code, false);
            }
            ajax_updatemicrocart();
            t_code = '';
        } else {
            t_code = '';	// sh!t happened so just release t_code
        }
    }	// rs 4
}

function ajax_updatemicrocart() {
    var url=_webbase+"ajaxhtml.php?cmd=microcart";
    ajax_get(url, ajax_updatemicrocart_rs);
}


function ajax_updatemicrocart_rs() {
    if (_request.readyState ==4) {
        if (_request.status == 200) {
            document.getElementById('divMicrocart').innerHTML = _request.responseText;
        }
    }
}


function ajax_get(url, callback) {
    createRequest();
    _request.open("GET", url, true);
    _request.onreadystatechange = callback;
    _request.send(null);
}



function getElementsByClass(searchClass,node,tag) {
    var classElements = new Array();
    if ( node == null )
        node = document;
    if ( tag == null )
        tag = '*';
    var els = node.getElementsByTagName(tag);
    var elsLen = els.length;
    var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
    for (i = 0, j = 0; i < elsLen; i++) {
        if ( pattern.test(els[i].className) ) {
            classElements[j] = els[i];
            j++;
        }
    }
    return classElements;
}



function ajax_enableaddtocart() {
	
    var al = getElementsByClass('addtocart');
    var code='';
    var ie = _browser.indexOf('msie')>0;
    for (var i=0;i<al.length;i++) {
        code= al[i].id.substring(4);
        if (!ie) {
            al[i].setAttribute('onclick', "ajax_addtocart('" + code + "')");
            al[i].href = "#"+code;
        } else {
            al[i].href = "javascript:ajax_addtocart('" + code + "')";
        }
		
    }
}

/*
function ajax_addevent(elmnt,evnt,hndlr) {
	if( elmnt.attachEvent ){
   		elmnt.attachEvent (evnt, hndlr);
	} else {
   		elmnt.setAttribute(evnt, hndlr); 
	}
}
*/

/*

 getelementsbyclass {
 	foreach addtocart as l
 	code = l.id (omit add_)
 	onclick = ajax_addtocart(code)
 }

*/

function okBrowser() {
    var ua = navigator.userAgent.toLowerCase();
	
    // returns false if found msie 5.1, netscape 6, or generally macintosh and os9.
    // as pc browsers generally behave better.
    // this list may grow with time
	
    // g m
	
    var result =
    !(
        ((ua.indexOf('msie') > -1)  && (navigator.appVersion.substring(0,1)<=6))
        ||
        (ua.indexOf('aol') > -1)
        ||
        (ua.indexOf('netscape') > -1)
        ||
        ((ua.indexOf('macintosh')> -1) && (ua.indexOf('os x') < 0))
        )
    ;
	
    // alert(result);	// debug
    return (result);
}


   $('.browsefull_prevpage').live('click', function(){
       
        $pg = $(this).parent().parent().find('#pg');
        $val = parseInt($pg.val());
        if($val < 1){
             $pg.val($val - 1);
        }
        return false;
     });

    $('.browsefull_changepage').live('click', function(){


        $pg = $(this).parent().parent().find('#pg');
        $val = parseInt($pg.val());
        $newval = null;
        if($(this).attr("name") == "prev")  $newval = $val - 1;
        if($(this).attr("name") == "next")  $newval = $val + 1;
      
         var exists = 0 != $('#pg option[value='+ $newval +']').length;
   

        if(exists){
             $pg.val($newval);
             $pg.change();
        }
        return false;
     });
    
    
  


$(document).ready(function() { 
	
	
	$(function() {	
		$('a.lightbox').lightBox({
			imageLoading: '/shop/theme/i/lightbox-ico-loading.gif',
			imageBtnClose: '/shop/theme/i/lightbox-btn-close.gif',		
			imageBlank: '/shop/theme/i/lightbox-blank.gif',		
		}); // Select all links with lightbox class
		
	});
	

	
	$('.itemVersionSelect').change(function() {
		
		$boxId = $(this).attr("id");
		
		$metacode = $boxId.substring(0,$boxId.indexOf("--"));
		$version = $(this).val();
		$("#add_"  + $metacode).attr("href", "#" + $version);
		$("#add_"  + $metacode).attr("onClick", "ajax_addtocart('" + $version + "')");
		$("#msg_"  + $metacode).attr("id", "msg_" + $version);
		$("#wait_" + $metacode).attr("id", "wait_" + $version);			
               
    });

   $('li.fbpopup a').click(function() {
        wndo(this.href, 500, 400);
        return false;
    });

    $('.browseChange').click(function() {
        $container = $(this).parents('.compactBrowseContainer');

        $pagespan =   $container.find('#pagenr');
        $page = parseInt($pagespan.html());

      $marginLefty = $container.find(".compactrow");
        $marginLefty.css("position","relative");


        if($(this).hasClass('b_next')){
            $page += 1;        
            $diff = Math.abs(parseInt($marginLefty.css('width'))) - Math.abs(parseInt($marginLefty.css('marginLeft')) - 850);
            if($diff >= 850){
                $marginLefty.animate({ marginLeft: parseInt($marginLefty.css('marginLeft'),10) - 850 });
            } else {
                 $marginLefty.animate({ marginLeft: parseInt($marginLefty.css('marginLeft'),10) - $diff});
            }
            $pagespan.html($page);
            $container.find('.selectedLink').addClass("append").click();
        }
        if($(this).hasClass('b_prev')){        
            $margin = Math.abs(parseInt($marginLefty.css('marginLeft')));
            if($margin >= 850){
                $marginLefty.animate({ marginLeft: parseInt($marginLefty.css('marginLeft'),10) + 850 });
            } else if ($margin > 0) {
                 $marginLefty.animate({ marginLeft:  0});
            }
        }
     

        return false;
    });
 

    $('.browseDropdown').change(function() {
        $container = $(this).parents('.compactBrowseContainer');
      
        $b = $container.children('.browsePanel')
        .children('.browsePanel_A')
        .children('.selectedLink')
        .click();
            
    }
    );

    $('.seeAllResults').click(function() {
    
       
        $container = $(this).parents('.compactBrowseContainer');
        $fshort = $container.find('.fshort').html();
        $fid = $container.find('.fid').html();
        $cat = $container.find('.selectedLink').attr('name');
        $sid = $container.find('#style'+$fshort).val();

        $order = $container.find('#order'+$fshort).val();
        $odvar = $order.substr(0,$order.indexOf("-"));
        $oddir = $order.substr($order.indexOf("-") + 1);
  
        window.location = "browsefull.php?fid=" + $fid + "&cat=" + $cat + "&sid=" + $sid + "&odvar=" + $odvar + "&oddir=" + $oddir;

        return false;

    }
    );

    $('.browseButton').click(function() {

     
        var filter = {};
         $container = $(this).parents('.compactBrowseContainer');
        $fid = $container.find('.fid').html();
        $fshort = $(this).parent().children('.fshort').html();
        if($(this).hasClass('append')){
            $(this).removeClass('append')
             filter.append = true;           
        } else {
            $(this).parents(".compactBrowseContainer").find('#pagenr').html("1");
        }
        
        filter.fid = "ds_ite.fid = '" + $fid + "'";
        filter.orderby = $('#order'+$fshort).val();
        filter.page = $(this).parents(".compactBrowseContainer").find('#pagenr').html();

        filter.category = $(this).html().substr(0,3);
        
        $styleid = $('#style'+$fshort).val();
        if($styleid != '0'){
            filter.style = "ds_cat.sid = "+$styleid;
        }     
       
        $dataLoaded = false;
        $rowRemoved = false;

        $(this).parent().children('.browseButton').removeClass('selectedLink');
        $(this).addClass('selectedLink');     

        $container = $(this).parents('.compactBrowseContainer').children('.dynCont');

      //  $container.css('min-height', $container.css('height'));
      //  $container.css('height', $container.css('height'));

        if(!filter.append){
            $container.children('.itemrow').fadeOut(function() {
                $(this).remove();
                $rowRemoved = true;
                fadeInReady($dataLoaded, $rowRemoved);
            });
        }

        $.get('ajax/ajax.browse.php', filter,
            function(data) {    
                 if(!filter.append) $container.append(data);
                 else $container.find('.appendpoint').append(data);
                $dataLoaded = true;
                fadeInReady($dataLoaded, $rowRemoved);                    
            });


        function fadeInReady(dataLoaded, rowRemoved){
            if(dataLoaded && rowRemoved){
                $container.children('.itemrow').fadeIn();
            }
        }
        return false;
    });
	
} );



