// var globalvar=new Object();
var globalvar=sessvars;

function dosearch() {
$('spincursor').style.visibility='visible';

      var pars = '?ajaxrequest='+$('formattedsearch').value+'&returndiv=maincategorydiv';
      $('search').className = $('search').className.replace('searchnorm','searchactive');
      deselectmain();
      $('maincategorydiv').innerHTML='<div class="catstop">Searching...</div><div class="roundedcats"><img src="/newsite/images/spinner.gif" width="24" height="24" alt="loading" /></div>';
      $('groupdisplay').innerHTML=$('DIVsearch').innerHTML;
      $('groupdisplay').appear();

      accordion = null;
      var myAjax = new Ajax.Updater('maincategorydiv', $('searchform').action,{evalScripts: true, method: 'get', parameters: pars, 
                       onComplete: function(transport){ grouplinks('group'); accordion = new Accordion("pafc-accordion",1); $('spincursor').style.visibility='hidden'; }
                                  });
      return false;
}

function setsearch() {
 $('search').className = $('search').className.replace('searchnorm','searchactive');
 deselectmain();


          $('groupdisplay').innerHTML=$('DIVsearch').innerHTML;
          $('groupdisplay').appear();

      $('maincategorydiv').innerHTML='<div class="catstop">Search</div><div class="roundedcart">Results Will Appear here</div>';



}

function unsetsearch() {
 $('search').className = $('search').className.replace('searchactive','searchnorm');
}


function deselectmain()
  {
   if (!document.getElementById) { alert('No way to traverse DOM'); return; }
   var daList = document.getElementById("menu");
   if (!daList) { alert('Missing Menu'); return; }
   var daItems = daList.getElementsByTagName("A");
   if (!daItems) { alert('No anchors found!'); return; }
   for (iItem=0; iItem < daItems.length; iItem++)
    {
     var o=daItems[iItem]
     o.className=o.className.replace('active','norm');
    }
  }
function deselectgroup()
  {
   if (!document.getElementById) { alert('No way to traverse DOM'); return; }
   var daList = document.getElementById("maincategorydiv");
   if (!daList) { alert('Missing Category DIV'); return; }
   var daItems = daList.getElementsByTagName("A");
   if (!daItems) { alert('No anchors found!'); return; }
   for (iItem=0; iItem < daItems.length; iItem++)
    {
     var o=daItems[iItem]
     o.className=o.className.replace('active','norm');
    }
  }






function forms(h) {
 var daItems = $$('.'+h);
 for (iItem=0; iItem < daItems.length; iItem++) {
   var o=daItems[iItem]
   o.onsubmit=doforms;
  }
 }


 var doforms = function() {




$('spincursor').style.visibility='visible';

  var pars = '?ajaxrequest=TRUE&returndiv=cart&'+Form.serialize(this);
  if(this.id != 'FORMsmallcart') {
   var daItems = this.getInputs('text');
   for (iItem=0; iItem < daItems.length; iItem++) {
     var o=daItems[iItem]
     o.value='';
    }
  }
  if ($('bigspinner3')) {$('bigspinner3').style.visibility="visible";}






  var myAjax = new Ajax.Updater('cart', this.action,{evalScripts: true, method: 'post', parameters: pars, 
               onComplete: function(transport){ forms('cartform'); deletelinks(); $('spincursor').style.visibility='hidden'; grouplinks('cartlink'); }
               });
   return false;
 }  




  function deletelinks() {
   // Apply unobtrusive Javascript to the Group Links 
   if (!document.getElementById) { alert('No way to traverse DOM'); return; }
   var daItems = $$('.delete');
   if (!daItems) { alert('No Groups found!'); return; }
   for (iItem=0; iItem < daItems.length; iItem++)
    {
     var o=daItems[iItem]
     o.onclick = deletelink;
    }
  }


  function deletelink()
   {
$('spincursor').style.visibility='visible';

          $('bigspinner3').style.visibility="visible";
          var pars = '?ajaxrequest=DELETE&returndiv=cart';
          var myAjax = new Ajax.Updater('cart', this.href,{evalScripts: true, method: 'get', parameters: pars, 
                      onComplete:      function(transport){ forms('cartform'); deletelinks(); $('spincursor').style.visibility='hidden'; }
                                 });
          return false;
   }






  function grouplinks(h) {



    var daItems = $$('.panelon');
    for (iItem=0; iItem < daItems.length; iItem++)
     {
      var o=daItems[iItem]
      o.className=o.className.replace('panelon','panel');
     }


   // Apply unobtrusive Javascript to the Group Links 
   if (!document.getElementById) { alert('No way to traverse DOM'); return; }
   var daItems = $$('.'+h);
   if (!daItems) { alert('No Groups found!'); return; }
   for (iItem=0; iItem < daItems.length; iItem++)
    {
     var o=daItems[iItem]
     o.onclick = showgroup;
    }
  }




  function showgroup(){
   var category = this.id.replace('LINK','');
   location.hash=category;
document.title=category;

   deselectgroup();
   this.className = this.className.replace('norm','active');
   return showgroupPARAMS(category,this.href);
  }


  function showgroupPARAMS(category,href)
   {
     if (1==0 && globalvar[category]) {
          $('groupdisplay').innerHTML=globalvar[category];
          $('groupdisplay').appear();
          $('bigspinner').style.visibility="hidden";
          if ($('tabs')){   mytabs = new Fabtabs('tabs');}
          grouplinks('family');
     } else {
          var pars = '?ajaxrequest='+category+'&returndiv=groupdisplay';
          $('bigspinner').style.visibility="visible";
          var myAjax = new Ajax.Updater('groupdisplay', href,{evalScripts: true, method: 'get', parameters: pars, 
                      onComplete:      function(transport){$('bigspinner').style.visibility="hidden"; if ($('tabs')){   mytabs = new Fabtabs('tabs');} grouplinks('family'); forms('groupform'); globalvar[category]=transport.responseText; $('spincursor').style.visibility='hidden'; }
                                 });
     }
     return false;
   }






  function showcat()
   {


location.hash='/'+this.id.replace('LINK','');
document.title='/'+this.id.replace('LINK','');



     var category = this.id.replace('LINK','');
     if (1==0 && globalvar[category]) {
          deselectmain();
          this.className = this.className.replace('norm','active');
          accordion = null;
          $('maincategorydiv').innerHTML=globalvar[category];
          grouplinks('group');
          accordion = new Accordion("pafc-accordion",1);
     } else {
      $('spincursor').style.visibility='visible';
      var pars = '?ajaxrequest='+category+'&returndiv=maincategorydiv';
//    Effect.Fade($('maincategorydiv'), { duration:0.4, from:1.0, to:0.001, queue: 'end' });
// onComplete part--> Effect.Fade($('maincategorydiv'), { duration:0.8, from:0.001, to:1.0, queue: 'end' });
      $('bigspinner2').style.visibility="visible";
      accordion = null;
      deselectmain();
      this.className = this.className.replace('norm','active');
      var myAjax = new Ajax.Updater('maincategorydiv', this.href,{evalScripts: true, method: 'get', parameters: pars, 
                       onComplete: function(transport){  $('bigspinner2').style.visibility="hidden"; grouplinks('group'); accordion = new Accordion("pafc-accordion",1); globalvar[category]=transport.responseText; $('spincursor').style.visibility='hidden'; }
                                  });
     }
     unsetsearch();
     $('groupdisplay').innerHTML=$('DIV'+category).innerHTML;
     return false;
   }
















/*
 * Fabtabulous! Simple tabs using Prototype
 * http://tetlaw.id.au/view/blog/fabtabulous-simple-tabs-using-prototype/
 * Andrew Tetlaw
 * version 2 2008-08-10
 * http://creativecommons.org/licenses/by-sa/2.5/
 */
var Fabtabs = Class.create({

	initialize : function(element,options) {
		var parent = this.element = $(element);
		this.options = Object.extend({
		  hover: false,
		  remotehover: false,
		  anchorpolicy: 'disable' // 'allow-initial' // 'protect', 'allow', 'allow initial', 'disable'
		}, options || {});
		this.menu = this.element.select('a');
		this.hrefs = this.menu.map(function(elm){
		  return elm.href.match(/#(\w.+)/) ? RegExp.$1 : null;
		}).compact();
		this.on(this.getInitialTab());
		var onLocal = function(event) {
		  if(this.options.anchorpolicy !== 'allow'){ event.stop(); }
  		var elm = event.findElement("a");
  		this.activate(elm);
  		if(this.options.anchorpolicy === 'protect') { window.location.hash = '.'+this.tabID(elm); }



  	};

  	var onRemote = function(event) {
  	  if(this.options.anchorpolicy !== 'allow'){ event.stop(); }
	    var trig = event.findElement("a");
    	this.activate(this.tabID(trig));
    	if(this.options.anchorpolicy === 'protect') { window.location.hash = '.'+this.tabID(elm); }
	  }
		this.element.observe('click', onLocal.bindAsEventListener(this));
		if(this.options.hover) {
		  this.menu.each(function(elm){elm.observe('mouseover', onLocal.bindAsEventListener(this))}.bind(this));
		}
		var triggers = []; 
		this.hrefs.each(function(id){
		  $$('a[href="#' + id + '"]').reject(function(elm){
		    return elm.descendantOf(parent)
		  }).each(function(trig){
		    triggers.push(trig);
		  });
		})
		triggers.each(function(elm){
		  elm.observe('click', onRemote.bindAsEventListener(this));
		  if(this.options.remotehover) {
  		  elm.observe('mouseover', onRemote.bindAsEventListener(this));
  		}
		}.bind(this));
	},
	activate: function(elm) {
	  if(typeof elm == 'string') {
	    elm = this.element.select('a[href="#'+ elm +'"]')[0];
	  }
	  this.on(elm);
		this.menu.without(elm).each(this.off.bind(this));
	},
	off: function(elm) {
		$(elm).removeClassName('active-tab');
		$(this.tabID(elm)).removeClassName('active-tab-body');
	},
	on: function(elm) {
		$(elm).addClassName('active-tab');
		$(this.tabID(elm)).addClassName('active-tab-body');
	},
	tabID: function(elm) {
		return elm.href.match(this.re)[1];
	},
	getInitialTab: function() {
		if(this.options.anchorpolicy !== 'disable' && document.location.href.match(this.re)) {
		  var hash = RegExp.$1;
		  if(hash.substring(0,1) == "."){
		    hash = hash.substring(1);
		  }
		  return this.element.select('a[href="#'+ hash +'"]')[0];
		} else {
		  return this.menu.first();
		}
	},
	re: /#(\.?\w.+)/
});






var clicked = function(e){
 $('spincursor').style.top=parseInt(Event.pointerY(e)-8)+'px';
 $('spincursor').style.left=parseInt(Event.pointerX(e)-8)+'px';
}



function findPos(obj){
 var curleft = curtop = 0;
 if (obj.offsetParent) {
  do {
   curleft += obj.offsetLeft;
   curtop += obj.offsetTop;
  } while (obj = obj.offsetParent);
 }
 return [curleft,curtop];
}





  document.observe("dom:loaded", function(){


   var daItems = $$('.panelon');
   for (iItem=0; iItem < daItems.length; iItem++)
    {
     var o=daItems[iItem]
     o.className=o.className.replace('panelon','panel');
    }



   // Apply unobtrusive Javascript to the Main Menu Links 
   if (!document.getElementById) { alert('No way to traverse DOM'); return; }
   var daItems = $$('.menulinks');
   if (!daItems) { alert('No Menu found!'); return; }
   for (iItem=0; iItem < daItems.length; iItem++)
    {
     var o=daItems[iItem]
     o.onclick = showcat;
    }

   grouplinks('group');
   grouplinks('family');
   grouplinks('grouplink');
   grouplinks('cartlink');
   deletelinks();
   accordion = new Accordion("pafc-accordion",subcatnumber);

   if ($('tabs')){   mytabs = new Fabtabs('tabs');}

   $('searchform').onsubmit=function(){return dosearch()};

   forms('cartform');
   forms('groupform');

   Event.observe(document, 'click', clicked);

   var absy=findPos($('cart'))[1];
   Event.observe(window, 'scroll', function(){
    var top = (document.documentElement.scrollTop ?
               document.documentElement.scrollTop :
               document.body.scrollTop);
    if (top>absy){
     $('cart').style.top=parseInt(top-absy)+'px';
    } else {
     $('cart').style.top=parseInt(0)+'px';
    }
   });


//   Cufon.replace('h1', { fontFamily: 'MyriadPro' });




  })





 window.onhashchange=function(){
  var lastHash = location.hash;
  var daHash = lastHash.substr(1,lastHash.length).toLowerCase();
  if (daHash.substr(0,1)=='/'){
   daHash = daHash.substr(1,daHash.length);
   showcat.call( $('LINK'+daHash) );
  } else {
   showgroupPARAMS(daHash,showgroupurl);
  }
 }



