/*global $, Ajax, Effect, document, setInterval, window */

//general functions
function AddEventListener(element, eventType, handler, capture){
	if (element.addEventListener){
		element.addEventListener(eventType, handler, capture);
	}else if (element.attachEvent){
		element.attachEvent("on" + eventType, handler);
	}
}

function clearText(ename){
	$(ename).value = '';
	$(ename).style.textAlign = 'left';
}

function numOnly(obj){
	var digits = "12343567890";
	var newv = "";
	for(var i = 0; i < obj.value.length; i++){
		if(digits.indexOf(obj.value.charAt(i)) != -1){
			newv += obj.value.charAt(i);
		}
	}
	obj.value = newv;
}

function sendSug(e){
	var keynum;
	if(window.event) // IE
		keynum = e.keyCode;
	else if(e.which) // Netscape/Firefox/Opera
		keynum = e.which;
	if(keynum == 13){
		var ajaxCart = new Ajax.Updater('sug_li', 'suggestion.cfm',{parameters: {msg: $('sug').value, url: $('sug_url').value},method:'post', evalScripts: true, asynchronous: true});
	}
}

function taf(){
	$('taf').style.display = ($('taf').style.display == 'inline')?'none':'inline'; 
	$('li_taf').style.background = 
		($('taf').style.display != 'inline')?
			"url(imgs2/li_item.gif) no-repeat 4px 6px"
			:"url('imgs2/li_item_down.gif') no-repeat 2px 8px";
}

function doAlert(e){
	var randomnumber=Math.floor(Math.random()*10001)
	if(confirm(e + ' has been added to your cart.\n\nDo you wish to checkout?\n\nSelect \'Cancel\' to continue shopping.')){
		window.location.href = 'http://www.foodservicedirect.com/cart_rd.cfm?var=' + randomnumber;
	}
}

var slist_visible = false;
function slist(){
	$('slist').style.display = ($('slist').style.display == 'inline')?'none':'inline'; 
	$('li_list').style.background = 
		($('slist').style.display != 'inline')?
			"url(imgs2/li_item.gif) no-repeat 4px 6px"
			:"url('imgs2/li_item_down.gif') no-repeat 2px 8px";
}


var id_current = 0;

function MajDiaporama() 
{
   var counter = 3;
   var eff = 'appear';
   var dur = 1;
   var inter = 4;

   //show first (last numerically) picture as page loads
   Effect.toggle('rotate' + counter, eff, { duration: 0 });

   var count = counter - 1;
   var tohide = counter;

   setInterval(function()
   {
	   //fades out last picture - fades in next
	   Effect.toggle('rotate' + tohide, eff, { duration: dur });
	   Effect.toggle('rotate' + count, eff, { duration: dur });

	   tohide = count;
	   count = (count == 1)? counter : count - 1;
   },inter * 1000);
}

function moreManu(){
	var elementList = document.getElementsByClassName('extra');
	for(var i = 0; i < elementList.length; i++){
		elementList[i].removeClassName('extra');
	}
	$('ul_more').addClassName('extra');
}

function addMore() {
	var ael3 = new AddEventListener($('ul_more'),'click', function(e){moreManu();}, false);
}

var ldesc;
var sdesc;
	
function swapDesc(more){
	if(more == 1)
		$('ndesc').innerHTML = ldesc;
	else
		$('ndesc').innerHTML = sdesc;
}

function checkSearchTermAndSubmit(){
	$('search_box').value = $('search_box').value.replace(/'/, "");
	$('searchf').submit();
}

//page load setup
window.onload = function(){
	
	// attach event listeneners for shell (menu)
	var ael1 = new AddEventListener($('search_box'),'focus', function(e){clearText('search_box');}, false);
	var ael2 = new AddEventListener($('search'),'click', function(e){checkSearchTermAndSubmit();}, false);
	if($('sug')){
		var ael7 = new AddEventListener($('sug'),'focus', function(e){clearText('sug');}, false);
	}
	
	//if side cart
	if($('cart')){
		var ajaxCart = new Ajax.Updater('cart', 'mini_cart.cfm',{method:'post', evalScripts: true, asynchronous: true});
	}
	
	//if($('atc')){
		//var atc = new AddEventListener($('atc'),'click', function(e){$('item').submit();}, false);
	//}
	
	//if static page
	if($('wmsg')){
		var ajax2 = new Ajax.Updater('wmsg', 'welcome.cfm',{method:'get', evalScripts: true, asynchronous: true});
	}
	
	// for homepage
	if($('home_head')){
		var ajax = new Ajax.Updater('cont', 'featured.cfm',{method:'get', evalScripts: true, asynchronous: true});
		var md1 = new MajDiaporama();
	}
	
	// for class landing pages
	if($('promo')){
		var md2 = new MajDiaporama();
	}
	
	if($('ul_more')){
		var ael3 = new AddEventListener($('ul_more'),'click', function(e){moreManu();}, false);
	}
	
	// for order status
	if($('szip')){
		var ael4 = new AddEventListener($('id'),'blur', function(e){numOnly($('id'));}, false);
		var ael5 = new AddEventListener($('szip'),'blur', function(e){numOnly($('szip'));}, false);
		var ael6 = new AddEventListener($('track'),'submit', function(e){numOnly($('id'));numOnly($('szip'));return true;}, false);
	}
	
	//if manu list
	if($('manuList')){
		listManufacturers();
	}
	
	//if names page with names description
	if($('ndesc')){
		var fdesc = $('ndesc').innerHTML;
		if(fdesc.length > 515){
			ldesc = fdesc.substring(0, (fdesc.length - 4)) + " (<a href='javascript:swapDesc(0)'>less</a>)</p>";
			sdesc = fdesc.substring(0, 515) + "... (<a href='javascript:swapDesc(1)'>more</a>)</p>";
			swapDesc(0);
		}
	}
	
};
// end page load setup


	