// JavaScript Document


function clearTags() {
	$("body").append("<br>");
	var check;
	var hideLayers = new Array();
	hideLayers[0] = "greenCheckPersTags"; // FC Tags
	hideLayers[1] = "greenCheckShapeColor"; // FC Tags
	hideLayers[2] = "greenCheckKATagsShape"; // KA normal tags
	hideLayers[3] = "greenCheckDesign"; // KA normal tags
	hideLayers[4] = "greenCheckColor"; // KA normal tags
	var eraseFields = new Array();
	eraseFields[0] = "selectPersTags"; // FC Tags
	eraseFields[1] = "selectShapeColor"; // FC Tags
	eraseFields[2] = "020Names"; // FC Tags
	eraseFields[3] = "Date"; // FC Tags
	eraseFields[4] = "008Date"; // FC Tags
	eraseFields[5] = "selectTagType"; // FC Tags
	eraseFields[6] = "KAMatchingTagNames"; // KA matching tags
	eraseFields[7] = "selectKATagsShape"; // KA normal tags
	eraseFields[8] = "selectDesign"; // KA normal tags
	eraseFields[9] = "selectColor"; // KA normal tags
	eraseFields[10] = "030Names"; // KA normal tags
	eraseFields[11] = "015Date"; // KA normal tags
	eraseFields[12] = "Names"; // FC normal tags
	
	for ( var i = 0; i < hideLayers.length; i++ ) {
		$("#" + hideLayers[i]).hide();
	}
	for ( i = 0; i < eraseFields.length; i++ ) {
		$("#" + eraseFields[i]).val("");
	}

}

function setTags( style, shape, clearBox, showCheck, styleValue, shapeValue, styleID, shapeID ){
	/*
	* NO LONGER IN USE AS OF 2009-01-16
	* TAGS USE JQUERY INSTEAD
	*
	* style = the style to use
	* shape = the shape to use
	* clearBox = boolean, should we hide the layers or not
	* showCheck = bool, show checkmark or not
	* styleID = optional - the ID of the dropdown for syles
	* styleValue = optional - the value we want for styles
	* shapeID = optional - the ID of the dropdown for values
	* shapeValue = optional - the value we want for shape
	* we can assume styleID will always be selectPersTags
	* we can assume shapeID will always be selectShapeColor
	* if either of these are supplied as arguments, we'll use that value instead
	*
	*
	*/
	if ( !styleID || !shapeID ) {
		styleID = "selectPersTags";
		shapeID = "selectShapeColor";
	} else {
		styleID = "select" + styleID;
		shapeID = "select" + shapeID;
	}
	
	if ( styleValue && shapeValue ) {
		document.getElementById( styleID ).value = styleValue;
		document.getElementById( shapeID ).value = shapeValue;
	} else {
		document.forms[1].elements[7].selectedIndex = style;
		document.forms[1].elements[10].selectedIndex = shape;
	}
	
	if ( clearBox ) {
		//toggleLayer('personalitypop', 0); // close it
		//toggleLayer('coffee-favors', 1);
		jqToggleLayer( 'personalitypop', null, 0, "hide" ); // close it
		jqToggleLayer( 'coffee-favors', null, 1, "hide" );
	}
	if ( showCheck ) {
		showLayer('greenCheckPersTags');
		showLayer('greenCheckShapeColor');
	}
}



/******** for KA items *****************/
function clearTagsKA() {
	// the form is document.forms[1]
	// the first element is document.forms[1].elements[1].select.value
	// the second element is document.forms[1].elements[2].select.value
	
	//alert("First Value: " + document.forms[1].elements[6].selectedIndex );
	document.forms[1].elements[6].selectedIndex = 0;
	hideLayer('greenCheckKATagsShape');
	hideLayer('greenCheckDesign');
	hideLayer('greenCheckColor');
	//alert("set first value");
	//alert("Second Value: " + document.forms[1].elements[6].selectedIndex );
	document.forms[1].elements[8].selectedIndex = 0;
	//alert("set second value");
	document.forms[1].elements[10].selectedIndex = 0;
	document.forms[1].elements[12].value = "";
	document.forms[1].elements[14].value = "";
}

function setTagKA( whichTag, style, showCheck ){
	//whichTag is the form ID number for the dropdown we're setting
	//Shape = ID 6 / greenCheckKATagsShape
	//Design = ID 8 / greenCheckDesign
	//Color = 10 / greenCheckColor
	//style is the dropdown ID number of the choice we're making
	//alert("hello");
	
	switch ( whichTag ) {
	
	case 6:
		document.forms[1].elements[6].selectedIndex = style;
		if ( showCheck ) { showLayer('greenCheckKATagsShape'); }
		break;
	case 8:
		document.forms[1].elements[8].selectedIndex = style;
		if ( showCheck ) { showLayer('greenCheckDesign'); }
		break;
	case 10:
		document.forms[1].elements[10].selectedIndex = style;
		if ( showCheck ) { showLayer('greenCheckColor'); }
		break;		
	}
	
}
/******** end for KA items *****************/



/* some code taken and modified from the helpful 
* discussions at http://www.gerd-riesselmann.net/archives/2005/04/firefox-canceling-problem-solved 
*/

/*
// no longer in use after jquery switch 2008-12-14
addEvent( window, "load", prepCheckTags );
function prepCheckTags() {
	var basketAddForm = document.getElementById("basketAdd");
	addEvent( basketAddForm, "submit", tagSubmitHandler);
}
function tagSubmitHandler(e) {
	var result = checkTags();
	if ( !result ) {
		cancel(e); // this cancels it in FF
	}
	return result; // this cancels it in IE
}*/

function checkTagsJQ(){
	// replaces checkTags()
	//alert("checking tags");
	var hasData = 0;
	var hasBlanks = 0;
	var elements = new Array( "selectPersTags", "selectShapeColor", "selectTagType", "Names", "Date", "selectKATagsShape", "selectDesign", "selectColor" );
	var message = "";
	var result = true;
	for( var i = 0; i <= elements.length; i++ ) {
		if ( $("#" + elements[i]).length ) {
			if ( $("#" + elements[i]).val() == "" ) {
				hasBlanks = 1;
			} else {
				hasData = 1;
			}
		}
	}
	
	if ( hasData && hasBlanks ) {
		// there were some items with data and some without
		message = "If you are ordering personalized tags, please be sure to fill out all fields.\r\n";
		message += "Otherwise please make sure all fields are blank.\r\n";
		//alert( message );
		result = false;
	}
	//alert("checking quantity... result = " + result + "message = " + message);
	// NPF only - make sure they're ordering at least the 2nd price break or more # of items
	if ( $(".volPriceRange").length && hasData ) {
		//alert("checking quantity");
		$(".volPriceRange").each(function(index){
			if ( index == 1 ) {
				window.volPriceMin = $(this).html().split("-")[0];
				//$("body").append("<br><br><br><br><br><br><br>Minimum Range = " + $(this).html().split("-")[0]);
			}
		});
		//alert("checking quantity ... min = " + volPriceMin + " ... quantity = " + $("#Quantity").val() );
		if ( Number( $("#Quantity").val() ) < volPriceMin ) {
			message += "\r\nTags may only be ordered with this item if you are purchasing " + volPriceMin + " or more. You are ordering " + $("#Quantity").val() + "\r\n";
			result = false;
		}
	}
	//alert("done checking quantity... result = " + result + "message = " + message);
	if ( !result ) { alert( message ); }
	return result;
}
function checkTags() {
	/* changed to jquery system - 2009-10-09 */
	return checkTagsJQ();
	/*
	
	
	
	//alert("checking Tags");
	// first make sure all elements are present. Maybe we changed an ID and forgot to update
	// this script.
	var result = true;
	var theElementIDs = new Array();
	theElementIDs[0] = "selectPersTags";
	theElementIDs[1] = "selectShapeColor";
	theElementIDs[2] = "selectTagType";
	//theElementIDs[3] = "020Names"; // id's cannot start with a number, we strip it out now
	theElementIDs[3] = "Names";
	theElementIDs[4] = "Date";
	var theElement;
	var nullElement = false;
	for ( var i = 0; i < 5; i++ ) {
		theElement = document.getElementById(theElementIDs[i]);
		if ( theElement == null && !nullElement ) {
			nullElement = true;
		}			
	}
	
	
	if ( !nullElement ) {
		var tagInfo = new Array();
		var selectPersTagsIndex = document.getElementById("selectPersTags").selectedIndex;
		var selectShapeColorIndex = document.getElementById("selectShapeColor").selectedIndex;
		var selectTagTypeIndex = document.getElementById("selectTagType").selectedIndex;
		tagInfo[0] = document.getElementById("selectPersTags")[selectPersTagsIndex].value;
		tagInfo[1] = document.getElementById("selectShapeColor")[selectShapeColorIndex].value;
		tagInfo[2] = document.getElementById("selectTagType")[selectTagTypeIndex].value;
		//tagInfo[3] = document.getElementById("020Names").value; // id's cannot start with a number, we strip it out now
		tagInfo[3] = document.getElementById("Names").value;
		tagInfo[4] = document.getElementById("Date").value;
		var hasInfo = false;
		var noInfo = false;	
	
		for ( var i = 0; i <= 4; i++ ) {
			if ( tagInfo[i] ) {
				hasInfo = true;
			} else {
				noInfo = true;
			}
		}
	
		if ( hasInfo && noInfo ) {
			// there were some items with data and some without
			var message = "If you are ordering personalized tags, please be sure to fill out all fields.\r\n";
			message += "Otherwise please make sure all fields are blank.\r\n";
			alert( message );
			result = false;
		}
	} // if ( !nullElement ) {
	
	return result;*/
}

function var_dump(obj) {
	if(typeof obj == "object") {
		return "Type: "+typeof(obj)+((obj.constructor) ? "\nConstructor: "+obj.constructor : "")+"\nValue: " + obj;
	} else {
		return "Type: "+typeof(obj)+"\nValue: "+obj;
	}
}//end function var_dump