/*
multiproduct.js

contains all javascript supporting the "outfit" product detail page, or "multiproduct" detail page.

*/

function mp_jumpMenu(targ,selObj,restore, baseID, idProductIDBase, desiredIndex){ //v3.0
	if(selObj.selectedIndex != 0) {
		var attributeValue = selObj[selObj.selectedIndex].value;
  		mp_selectIndex(baseID, idProductIDBase, desiredIndex, attributeValue);
  		//eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  		if (restore) selObj.selectedIndex=0;
	}
}

Array.prototype.findIndex = function(value){
var ctr = "";
for (var i=0; i < this.length; i++) {
// use === to check for Matches. ie., identical (===), ;
if (this[i] == value) {
return i;
}
}
return ctr;
};

function toggle_mp(id, numProducts) {
	for(i=0; i<numProducts; i++) {			
		detail_id = 'mp_'+i+'_details';
		summary_id = 'mp_'+i+'_summary';
		button_id = 'mp_arrow_'+i;
		
		if(i == id) {
			document.getElementById(detail_id).style.display = "block";
			document.getElementById(summary_id).style.display = "none";
			document.getElementById(button_id).innerHTML = '<img src="/images/mp_detail_open.gif" border=0 />';
			//window.location.hash = id+"_product_panel";
		}else{
			document.getElementById(detail_id).style.display = "none";
			document.getElementById(summary_id).style.display = "block";
			document.getElementById(button_id).innerHTML = '<img src="/images/mp_detail_closed.gif" border=0 />';
		}
	}		
}

function mp_loadItemSelectors(baseID, idProductIDBase) {
	//first, get the first index value for this item//
	var http = false;

	if(navigator.appName == "Microsoft Internet Explorer") {
		http = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		http = new XMLHttpRequest();
	}
	
	http.abort();
	http.open("GET", "/include/multiproduct_ajax.php?do=mp_getFirstIndex&idProductIDBase="+idProductIDBase, true);
	http.onreadystatechange=function() {
		if(http.readyState == 4) {			
			//  now, get the index values for the first index //			
			var firstIndex = http.responseText;
			if(firstIndex != '') {
				mp_getIndexValues(baseID, idProductIDBase, http.responseText,'','','');
			} else {
				// add code to go ahead and show add to cart button //
				var idProductIDFull = idProductIDBase;
				//if(sportValue != "") idProductIDFull += "-"+sportValue;
				//if(sizeValue != "") idProductIDFull += "-"+sizeValue;
				//if(colorValue != "") idProductIDFull += "-"+colorValue;
				//if(modelValue != "") idProductIDFull += "-"+modelValue;
				
				document.getElementById('mp_idProductIDFull_'+baseID).value = idProductIDFull;				
				
				document.getElementById('mp_add_to_cart_button_'+baseID).style.display = "block";
				document.getElementById('mp_add_to_cart_button_image_'+baseID).style.display = "block";
			}
		}
	}
	http.send(null);	
}

function mp_resetSelections(baseID, desiredIndex) {
	var indexValues = new Array('SPORT', 'SIZE', 'COLOR', 'MODEL');
	
	var startClearing = false;
	for(i=0; i<indexValues.length; i++) {
		if(startClearing) {
			document.getElementById('mp_selected_'+indexValues[i]+'_'+baseID).value = "";
			document.getElementById('mp_display_index_'+indexValues[i]+'_'+baseID).innerHTML = "";
		}
		if(indexValues[i] == desiredIndex) startClearing = true;
	}
	document.getElementById('mp_add_to_cart_button_'+baseID).style.display = "none";
	document.getElementById('mp_add_to_cart_button_image_'+baseID).style.display = "none";
}

function mp_selectIndex(baseID, idProductIDBase, desiredIndex, selectedValue) {
	var http = false;
	mp_resetSelections(baseID, desiredIndex);	
	if(navigator.appName == "Microsoft Internet Explorer") {
		http = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		http = new XMLHttpRequest();
	}
	
	http.abort();
	http.open("GET", "/include/multiproduct_ajax.php?do=mp_returnIndexList&idProductIDBase="+idProductIDBase, true);
	http.onreadystatechange=function() {
		if(http.readyState == 4) {
			if(http.responseText != "") {
				var optionList = new Array();
				var theseOptionsString = http.responseText;
				var theseOptions = theseOptionsString.split(",");
				
				indexList = theseOptions;
			} else {
				var optionList = new Array();
				indexList = optionList;
			}			
   
		   nextIndex = indexList[indexList.findIndex(desiredIndex) + 1];	   
		   
		   document.getElementById('mp_selected_'+desiredIndex+'_'+baseID).value = selectedValue;
		   
		   var sportValue = document.getElementById('mp_selected_SPORT_'+baseID).value;
		   var sizeValue = document.getElementById('mp_selected_SIZE_'+baseID).value;
		   var colorValue = document.getElementById('mp_selected_COLOR_'+baseID).value;
		   var modelValue = document.getElementById('mp_selected_MODEL_'+baseID).value;
		   
		   mp_loadIndexImage(baseID);
		   
		   if(nextIndex) {
				mp_getIndexValues(baseID, idProductIDBase, nextIndex, sportValue, sizeValue, colorValue);
		   } else {
				var idProductIDFull = idProductIDBase;
				if(sportValue != "") idProductIDFull += "-"+sportValue;
				if(sizeValue != "") idProductIDFull += "-"+sizeValue;
				if(colorValue != "") idProductIDFull += "-"+colorValue;
				if(modelValue != "") idProductIDFull += "-"+modelValue;
				
				document.getElementById('mp_idProductIDFull_'+baseID).value = idProductIDFull;				
				
				document.getElementById('mp_add_to_cart_button_'+baseID).style.display = "block";
				document.getElementById('mp_add_to_cart_button_image_'+baseID).style.display = "block";
			   
		   }	
			
		}
	}
	http.send(null); 	
}

function mp_getIndexValues(baseID, idProductIDBase, desiredIndex, sSport, sSize, sColor) {
	document.getElementById('mp_display_index_'+desiredIndex+'_'+baseID).innerHTML = '<img src="/images/mp_ajaxloader.gif">';
	var http = false;
	
	if(navigator.appName == "Microsoft Internet Explorer") {
		http = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		http = new XMLHttpRequest();
	}
	
	http.abort();
	http.open("GET", "/include/multiproduct_ajax.php?do=mp_getIndexValues&baseID="+baseID+"&idProductIDBase="+idProductIDBase+"&desiredIndex="+desiredIndex+"&sSport="+sSport+"&sSize="+sSize+"&sColor="+sColor, true);
	http.onreadystatechange=function() {
		if(http.readyState == 4) {
			if(http.responseText != "") {
				document.getElementById('mp_display_index_'+desiredIndex+'_'+baseID).innerHTML = http.responseText;
			} else {
				// add code to set index selection values, store full sku, and make add to cart visible when necessary //
				// be sure to include change handlers //
				
				
				
				/*
				var sportValue = document.getElementById('oe_selected_SPORT').value;
				var sizeValue = document.getElementById('oe_selected_SIZE').value;
				var colorValue = document.getElementById('oe_selected_COLOR').value;
				var modelValue = document.getElementById('oe_selected_MODEL').value;
				
				var idProductIDFull = idProductIDBase;
				if(sportValue != "") idProductIDFull += "-"+sportValue;
				if(sizeValue != "") idProductIDFull += "-"+sizeValue;
				if(colorValue != "") idProductIDFull += "-"+colorValue;
				if(modelValue != "") idProductIDFull += "-"+modelValue;
				
				document.getElementById('idProductIDFull_0').value = idProductIDFull;
				
				document.getElementById('oe_option_dialog').style.display = 'none';
				
				document.getElementById('oe_addItemButton').focus();	
				*/
			}
		}
	}
	http.send(null); 	
}

function mp_setColor(id, obj, numColors) {
	var formID = 'color_selector_'+id;
	
	for(i=0; i<numColors; i++) {
		swatchID = 'color_'+id+'_'+i;
		if(swatchID == obj.id) {
			document.getElementById(swatchID).setAttribute("class", "mp_selector_image_available_selected");
		}else{
			document.getElementById(swatchID).setAttribute("class", "mp_selector_image_available");
		}
	}
}

function mp_getCartValues() {
	var http = false;
	
	if(navigator.appName == "Microsoft Internet Explorer") {
		http = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		http = new XMLHttpRequest();
	}
	
	http.abort();
	http.open("GET", "/include/multiproduct_ajax.php?do=mp_getCartValues", true);
	http.onreadystatechange=function() {
		if(http.readyState == 4) {
			document.getElementById('mp_cartValues').innerHTML = http.responseText;
		}
	}
	http.send(null);
}

function mp_storeClick(idSessionID, idParentIDBase, idProductIDBase) {	
	var http = false;
	if(navigator.appName == "Microsoft Internet Explorer") {
		http = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		http = new XMLHttpRequest();
	}
	
	http.abort();
	http.open("GET", "/include/multiproduct_ajax.php?do=mp_storeClick&idParentIDBase="+idParentIDBase+"&idProductIDBase="+idProductIDBase+"&idSessionID="+idSessionID, true);
	http.onreadystatechange=function() {
		if(http.readyState == 4) {
			//alert(http.responseText);
		}
	}
	http.send(null);
}

function mp_addToCart(id) {
	document.getElementById('mp_add_to_cart_button_'+id).innerHTML = '<img src="/images/mp_ajaxloader.gif">';
	var idProductIDBase = document.getElementById('mp_idProductIDBase_'+id).value;
	var idParentIDBase = document.getElementById('mp_idProductIDBase_0').value;
	var idSessionID = document.getElementById('mp_sessionID').value;
	var idProductIDFull = document.getElementById('mp_idProductIDFull_'+id).value;
	var qty = document.getElementById('qty_'+id).value;
	
	var http = false;
	
	if(navigator.appName == "Microsoft Internet Explorer") {
		http = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		http = new XMLHttpRequest();
	}
	
	http.abort();
	http.open("GET", "/include/multiproduct_ajax.php?do=mp_remoteAddToCart&idProductIDFull="+idProductIDFull+"&qty="+qty, true);
	http.onreadystatechange=function() {
		if(http.readyState == 4) {
			//alert(http.responseText);
			if(http.responseText == 'success') {
				//document.getElementById('mp_'+id+'_details').style.display='none';
				//document.getElementById('mp_'+id+'_summary').style.display='block';
				document.getElementById('mp_add_to_cart_button_'+id).innerHTML = '<span style="font-size: 14px"><strong>Item Added to Cart.</strong><br><a href=/cart.php>Click Here</a> to View</span><br><br><!--<button type="button" class="mp_add_to_cart_button_active" onClick="mp_resetSelections('+id+', \'SPORT\')" id="mp_add_to_cart_button_'+id+'">Add More  -></button>-->';
				
				mp_getCartValues();
				
				if(id != 0) {
					mp_storeClick(idSessionID, idParentIDBase, idProductIDBase);
				}
			}
			//if(http.responseText == 'success') {
			//	window.location.reload(true);
			//}
		}
	}
	http.send(null);	
}

function mp_loadIndexImage(id) {
	var idProductIDBase = document.getElementById('mp_idProductIDBase_'+id).value;
	var mp_selectedSport = document.getElementById('mp_selected_SPORT_'+id).value;
	var mp_selectedColor = document.getElementById('mp_selected_COLOR_'+id).value;
	var http = false;
	if(navigator.appName == "Microsoft Internet Explorer") {
		http = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		http = new XMLHttpRequest();
	}
	
	http.abort();
	http.open("GET", "/include/multiproduct_ajax.php?do=mp_loadIndexImage&idProductIDBase="+idProductIDBase+"&SPORT="+mp_selectedSport+'&COLOR='+mp_selectedColor, true);
	http.onreadystatechange=function() {
		if(http.readyState == 4) {
			document.getElementById('mp_image_'+id).innerHTML = http.responseText;
		}
	}
	http.send(null);
}