
// GR JS File
//Created By Adam Duncan (Nitor Solutions)

var disappeardelay=250  //menu disappear speed onMouseout (in miliseconds)
var hidemenu_onclick="no" //hide menu when user clicks within menu?
var dropmenuobj = "";
var ie4=document.all
var ns6=document.getElementById&&!document.all

if (ie4||ns6)
document.write('<div id="gr_dropdown" class="gr_dropdown" onMouseover="clearhidemenu()" onMouseout="dynamichide(event)"></div>')

function getposOffset(item, offsettype){
	var totaloffset=(offsettype=="left")? item.offsetLeft : item.offsetTop;
	var parentEl=item.offsetParent;
	while (parentEl!=null){
		totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
		parentEl=parentEl.offsetParent;
	}
	if(offsettype=="left"){
		totaloffset = totaloffset + 19;
	}else{
		totaloffset = totaloffset + 5;
	}
	return totaloffset;
}


function showhide(obj, e, visible, hidden, menuwidth){
	if (ie4||ns6)
		dropmenuobj.style.left=dropmenuobj.style.top="-500px"
	if (menuwidth!=""){
		dropmenuobj.widthobj=dropmenuobj.style
		//dropmenuobj.widthobj.width=menuwidth
	}
	if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover"){
		obj.visibility=visible
		hidemenu_onclick = "yes";
	}else if (e.type=="click"){
		obj.visibility=hidden
		hidemenu_onclick = "no";
	}
}

function iecompattest(){
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge){
	var edgeoffset=0
	if (whichedge=="rightedge"){
		var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
		dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
		if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
			edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth
		}
		else{
			var topedge=ie4 && !window.opera? iecompattest().scrollTop : window.pageYOffset
			var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
			dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
		if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure){ //move up?
			edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight
			if ((dropmenuobj.y-topedge)<dropmenuobj.contentmeasure) //up no good either?
				edgeoffset=dropmenuobj.y+obj.offsetHeight-topedge
		}
	}
	return edgeoffset
}

function populatemenu(item){
	//alert('<ul>\n<li>' + item.join("</li><li>") + '</li>\n</ul>\n');
	if (ie4||ns6)
	dropmenuobj.innerHTML='<ul>\n<li>' + item.join("</li><li>") + '</li>\n</ul>\n';
}


function dropdownmenu(obj, e, menucontents, menuwidth){
	if (window.event) event.cancelBubble=true
	else if (e.stopPropagation) e.stopPropagation()
	clearhidemenu()
	dropmenuobj=document.getElementById? document.getElementById("gr_dropdown") : gr_dropdown
	populatemenu(menucontents)

	if (ie4||ns6){
		showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth)
		dropmenuobj.x=getposOffset(obj, "left") - 20;
		dropmenuobj.y=getposOffset(obj, "top");
		dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px"
		dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
		dropmenuobj.style.width = "180px";//parseInt(obj.offsetWidth) + "px";
		//dropmenuobj.x = 0;
		//dropmenuobj.style.left = 0;
	}
	return clickreturnvalue()
}

function clickreturnvalue(){
	if (ie4||ns6) return false
	else return true
}

function contains_ns6(a, b) {
	while (b.parentNode)
		if ((b = b.parentNode) == a)
			return true;
		return false;
}

function dynamichide(e){
  if (hidemenu_onclick=="yes"){
	if (ie4&&!dropmenuobj.contains(e.toElement))
		delayhidemenu()
	else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
		delayhidemenu()
  }
}

function hidemenu(e){
	if (typeof dropmenuobj!="undefined"){
		//if (ie4||ns6)
		if (hidemenu_onclick=="yes"){
		dropmenuobj.style.visibility="hidden"
		hidemenu_onclick = "no";
		}
	}
}

function delayhidemenu(){
	if (ie4||ns6)
		delayhide=setTimeout("hidemenu()",disappeardelay)
}

function clearhidemenu(){
	if (typeof delayhide!="undefined")
		clearTimeout(delayhide)
}

document.onclick=hidemenu;


//other functions

function changeImage(myObj, myAction, myUrl){
	var myIDName = myObj.id;
	var mySrc = "";
	
	switch(myAction){
		case "mouseover":
			mySrc = myUrl + "/images/" + myIDName + "_alt.jpg";
			break;
		case "mouseout":
			mySrc = myUrl + "/images/" + myIDName + ".jpg";
			break;
	}

	myObj.src = mySrc;
}

function changeBackgroundColor(myObj,otherObj){
	otherObj.style.backgroundColor = '#ffffff';
	myObj.style.backgroundColor = '#4f6228';
}

/* this part is the wheels javascript for the product pages */
/* Vertical Wheel */
var wheel_length = 0;
var cur_wheel = 0;
var scrollHeight = 22;
var id_pref = 'gr_wheel_li_';
var buttonPress = false;
var nextPress = false;
var myWheelArray; //called later in the code
var typeWheel; //called later in the code
var myAjaxDirectory; //called later in the code
var myTitle = '';

function setButtonPress(myValue,myNext){
	buttonPress = myValue;
	nextPress = myNext;
}

function selectWheelElement(myIndex){
	var oldobj = document.getElementById(id_pref + '' + cur_wheel);
	oldobj.className = '';

	cur_wheel = myIndex;
	
	var obj = document.getElementById(id_pref + '' + cur_wheel);
	var myScroll = (cur_wheel * scrollHeight);
	var menu_obj = document.getElementById('gr_wheel_menu');
	obj.className = 'selected';
	menu_obj.scrollTop = myScroll;
	
	//sets html
	setWheelInnerHtml(myIndex);
}

function check_all_field(mytype) {
	var checkall = document.getElementById('check_all_'+mytype);
	var checked = checkall.checked;

	var fert = document.getElementById('gr_fert_'+mytype+'_filter');
	if (fert) {
		els = fert.getElementsByTagName('input');
		for (i=0;i<els.length;i++) {
			if ((els[i].type=='checkbox') && (els[i].name != 'check_all_'+mytype))
				els[i].checked = checked;
		}
	}
}

function updateFilterArrows()  {

	var col1 = false;
	var col2 = false;
	var col3 = false;
	var col4 = false;
	var col5 = false;
	var col6 = false;
	var col7 = false;

	var els;

	var fert = document.getElementById('gr_fert_type_filter');
	if (fert) {
		els = fert.getElementsByTagName('input');
		for (i=0;i<els.length;i++) {
			if ((els[i].type=='checkbox') && (els[i].checked == false) && (els[i].name != 'check_all_type'))
				col1 = true;
		}
	}

//	alert(col1);

	var fert2 = document.getElementById('gr_fert_sgn_filter');
	if (fert2) {
		els = fert2.getElementsByTagName('input');
		for (i=0;i<els.length;i++) {
			if ((els[i].type=='radio') && (els[i].name=='sgn') && (els[i].value=='all') && (els[i].checked == false))
				col2 = true;
		}
	}

	var fert2 = document.getElementById('gr_fert_sgn_filter');
	if (fert2) {
		els = fert2.getElementsByTagName('input');
		for (i=0;i<els.length;i++) {
			if ((els[i].type=='radio') && (els[i].name=='sgn') && (els[i].value=='all') && (els[i].checked == false))
				col2 = true;
		}
	}

//	alert(col2);

	var fert3 = document.getElementById('gr_fert_srn_filter');
	if (fert3) {
		els = fert3.getElementsByTagName('input');
		for (i=0;i<els.length;i++) {
			if ((els[i].type=='radio') && (els[i].name=='srn') && (els[i].value=='all') && (els[i].checked == false))
				col3 = true;
		}
	}

//	alert(col3);

	var fert4 = document.getElementById('gr_fert_p2o2_filter');
	if (fert4) {
		els = fert4.getElementsByTagName('input');
		for (i=0;i<els.length;i++) {
			if ((els[i].type=='checkbox') && (els[i].checked == false))
				col4 = true;
		}
	}

//	alert(col4);

	var fert5 = document.getElementById('gr_fert_k2o_filter');
	if (fert5) {
		els = fert5.getElementsByTagName('input');
		for (i=0;i<els.length;i++) {
			if ((els[i].type=='checkbox') && (els[i].checked == false))
				col5 = true;
		}
	}

//	alert(col5);

	var fert6 = document.getElementById('gr_fert_fe_filter');
	if (fert6) {
		els = fert6.getElementsByTagName('input');
		for (i=0;i<els.length;i++) {
			if ((els[i].type=='radio') && (els[i].name=='percent_fe') && (els[i].value=='all') && (els[i].checked == false))
				col6 = true;
		}
	}

//	alert(col6);

	var fert7 = document.getElementById('gr_fert_basic_manufacturer_filter');
	if (fert7) {
		els = fert7.getElementsByTagName('input');
		for (i=0;i<els.length;i++) {
			if ((els[i].type=='checkbox') && (els[i].checked == false) && (els[i].name != 'check_all_basic_manufacturer'))
				col7 = true;
		}
	}

//	alert(col7);

	if (col1) {
		if (document.getElementById('gr_fert_type_filter_arrow'))
			document.getElementById('gr_fert_type_filter_arrow').className='arrow_red';
	}
	if (col2) {
		if (document.getElementById('gr_fert_sgn_filter_arrow'))
			document.getElementById('gr_fert_sgn_filter_arrow').className='arrow_red';
	}
	if (col3) {
		if (document.getElementById('gr_fert_srn_filter_arrow'))
			document.getElementById('gr_fert_srn_filter_arrow').className='arrow_red';
	}
	if (col4) {
		if (document.getElementById('gr_fert_p2o2_filter_arrow'))
			document.getElementById('gr_fert_p2o2_filter_arrow').className='arrow_red';
	}
	if (col5) {
		if (document.getElementById('gr_fert_k2o_filter_arrow'))
			document.getElementById('gr_fert_k2o_filter_arrow').className='arrow_red';
	}
	if (col6) {
		if (document.getElementById('gr_fert_fe_filter_arrow'))
			document.getElementById('gr_fert_fe_filter_arrow').className='arrow_red';
	}
	if (col7) {
		if (document.getElementById('gr_fert_basic_manufacturer_filter_arrow'))
			document.getElementById('gr_fert_basic_manufacturer_filter_arrow').className='arrow_red';
	}


}

function moveWheelElement(){
	if(!buttonPress){
		//sets html
		setTimeout('setWheelInnerHtml(' + cur_wheel + ')',50);
		return;
	}
	
	var old_cur_wheel = cur_wheel;
	
	if(nextPress){
		cur_wheel++;
		if(cur_wheel >= wheel_length){
			cur_wheel = wheel_length;
		}
	}else{ //prev
		cur_wheel--;
		if(cur_wheel < 0){
			cur_wheel = 0;
		}
	}
	
	var oldobj = document.getElementById(id_pref + '' + old_cur_wheel);
	oldobj.className = '';
	
	var obj = document.getElementById(id_pref + '' + cur_wheel);
	var myScroll = (cur_wheel * scrollHeight);
	var menu_obj = document.getElementById('gr_wheel_menu');
	
	obj.className = 'selected';
	menu_obj.scrollTop = myScroll;
	
	holdWheel();
}

function startWheel(){
	moveWheelElement();
}

function holdWheel(){
	setTimeout('moveWheelElement()',150);
}

//set product load by type
function setWheelInnerHtml(myArrayID){
	//wait a few before loading.
	
	if(myArrayID >= (myWheelArray.length - 1))
		document.getElementById('gr_wheel_next').src = 'http://greenresource.testdevsite.com/wp-content/themes/greenresource/images/grid_scroll_arrow_down_inactive.gif';
	else
		document.getElementById('gr_wheel_next').src = 'http://greenresource.testdevsite.com/wp-content/themes/greenresource/images/grid_scroll_arrow_down.gif';
	
	if(myArrayID <= 0)
		document.getElementById('gr_wheel_prev').src = 'http://greenresource.testdevsite.com/wp-content/themes/greenresource/images/grid_scroll_arrow_up_inactive.gif';
	else
		document.getElementById('gr_wheel_prev').src = 'http://greenresource.testdevsite.com/wp-content/themes/greenresource/images/grid_scroll_arrow_up.gif';
	
	if(myWheelArray.length < myArrayID)
		return;
	
	var myID = myWheelArray[myArrayID]; //lookup id
	
	switch(typeWheel){
		case "fertilizer":
		  if(myTitle=="soil")
			loadProductInfo(document.getElementById('gr_erosion_display'),myAjaxDirectory + 'soil_amendment.php','i=' + myID);
		  else
			loadProductInfo(document.getElementById('gr_fertilizer_display'),myAjaxDirectory + 'fertilizer.php','i=' + myID);
			
			break;
		case "erosion_control":
			loadProductInfo(document.getElementById('gr_erosion_display'),myAjaxDirectory + 'erosion.php','i=' + myID);
			break;
		case "pesticide_w_fert":
			loadProductInfo(document.getElementById('gr_pesticide_w_fert_display'),myAjaxDirectory + 'pesticides_w_fert.php','i=' + myID + '&t=' + myTitle);
			break;
		case "pesticide_no_fert":
			loadProductInfo(document.getElementById('gr_pesticide_no_fert_display'),myAjaxDirectory + 'pesticides_no_fert.php','i=' + myID);
			break;
	}
}

//selectWheelElement(4); //(NOTE: call this on the page that needs it)

/* Horizontal Wheel */
function moveNextTurfGrass(nextTurf,myID,myType){		
	/*if(nextTurf){
	
	}else{
	
	}*/
	loadProductInfo(document.getElementById('gr_turfgrass'),myAjaxDirectory + 'turfgrass.php','i=' + myID + '&t=' + myType);
}

function loadProductInfo(myObj,myUrl,myPostData){
	var myReturnStr = '';
	
	myReturnStr = $.ajax({
				type: "POST",
				url: myUrl,
				data: myPostData,
				dataType: "html",
				async: false,
				success: function(msg){

				}
	}).responseText;
	
	myObj.innerHTML = myReturnStr;
	updateFilterArrows();
}

