function getCSSRule(ruleName, deleteFlag) {               // Return requested style obejct
   ruleName=ruleName.toLowerCase();                       // Convert test string to lower case.
   if (document.styleSheets) {                            // If browser can play with stylesheets
      for (var i=0; i<document.styleSheets.length; i++) { // For each stylesheet
         var styleSheet=document.styleSheets[i];          // Get the current Stylesheet
         var ii=0;                                        // Initialize subCounter.
         var cssRule=false;                               // Initialize cssRule. 
         do {                                             // For each rule in stylesheet
            if (styleSheet.cssRules) {                    // Browser uses cssRules?
               cssRule = styleSheet.cssRules[ii];         // Yes --Mozilla Style
            } else {                                      // Browser usses rules?
               cssRule = styleSheet.rules[ii];            // Yes IE style. 
            }                                             // End IE check.
            if (cssRule)  {                               // If we found a rule...
               if (cssRule.selectorText.toLowerCase()==ruleName) { //  match ruleName?
                  if (deleteFlag=='delete') {             // Yes.  Are we deleteing?
                     if (styleSheet.cssRules) {           // Yes, deleting...
                        styleSheet.deleteRule(ii);        // Delete rule, Moz Style
                     } else {                             // Still deleting.
                        styleSheet.removeRule(ii);        // Delete rule IE style.
                     }                                    // End IE check.
                     return true;                         // return true, class deleted.
                  } else {                                // found and not deleting.
                     return cssRule;                      // return the style object.
                  }                                       // End delete Check
               }                                          // End found rule name
            }                                             // end found cssRule
            ii++;                                         // Increment sub-counter
         } while (cssRule)                                // end While loop
      }                                                   // end For loop
   }                                                      // end styleSheet ability check
   return false;                                          // we found NOTHING!
}                                                         // end getCSSRule 

function changeStyle() {
	var canteen = getCSSRule('.black27Sport');
	var color = getCookie('color');
	var size = getCookie('size');
	var cap = getCookie('cap');
	canteen.style.backgroundImage='url(images/'+color+size+cap+'.jpg)';
	changePrice();
	//alert(canteen.style.backgroundImage);
}

function setCap(whichCap, capLabel, obj) {
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+30);
	document.cookie="cap="+whichCap;+"expires="+exdate.toGMTString()+"; path=/";
	changeStyle();
	document.getElementById('cap_type_label').innerHTML = capLabel;
	resetCaps();
	obj.style.border='2px #666 solid';
}

function resetCaps() {
 var capArray = new Array('sippyCap','flatCap','loopCap','ssFlatCap','ssLoopCap','sportCap');
 for(var i =0;i<capArray.length;i++) {
		document.getElementById(capArray[i]).style.border = '';	
	}
}

function setColor(whichColor, obj) {
	document.cookie="color="+whichColor;
	resetColors();
	obj.style.backgroundImage='url(images/color_hilite_background.png)';
	changeStyle();
}

function resetColors() {
	var colorArray = new Array('black','pink','grey','blue','green');
	for(var i =0;i<colorArray.length;i++) {
		document.getElementById(colorArray[i]).style.backgroundImage = 'url(images/color_select_background.png)';	
	}
}

function resetSizes() {
	var sizeArray = new Array('twelve','eighteen','twentyseven');
	for(var i =0;i<sizeArray.length;i++) {
		document.getElementById(sizeArray[i]).style.border = '';	
	}
}

function setSize(whichSize, obj) {
	document.cookie="size="+whichSize;
	if(obj!=null) {
		resetSizes();
		obj.style.border='2px #666 solid';
		obj.style.padding='3px';
		
		if(whichSize!='12'){
			hideSippy();
			document.cookie="cap=Sport";
			document.getElementById('cap_type_label').innerHTML = 'Sport';
			resetCaps();
			var obj = document.getElementById('sportCap');
			obj.style.border='2px #666 solid';
		} else
		{
			showSippy();	
		}
	}
	changeStyle();
}

function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    {
    c_start=c_start + c_name.length+1;
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    }
  }
return "";
}
function init() {
	document.cookie="cap=Sport";
	var whichColor = getCookie('color');
	if(whichColor==''){
		document.cookie="color=Black";	
	}
	
	var whichSize = getCookie('size');
	if(whichSize=='') {
		document.cookie="size=27";
	}
	if(whichSize!='12'){
			hideSippy();
		} else
		{
			showSippy();	
		}
	initSizeStyle();
	initColorStyle();
	changeStyle();
}

function initSizeStyle() {
	var whichSize = getCookie('size');
	switch(whichSize) {
		case '12': 
		var obj=document.getElementById('twelve');
		break;
		case '18':
		var obj=document.getElementById('eighteen');
		break;
		case '27':
		var obj=document.getElementById('twentyseven');
		break;
	}
		obj.style.border='2px #666 solid';
		obj.style.padding='3px';
}
function simulateLink() {
	document.body.style.cursor = 'pointer';
}
function returnCursor() {
	document.body.style.cursor = 'default';
}

function changeWinePhoto() {
	var carafe = getCSSRule('.redWine');
	var wineColor = getCookie('wineColor');
	carafe.style.backgroundImage='url(images/'+wineColor+'Wine.jpg)';
	
}

function changeWinePrice() {
	var wineColor=getCookie('wineColor');
	switch(wineColor) {
		case "Purple": 
		var product = 18;
		break;
		case "Grey":
		var product = 16;
		break;
		case "Red":
		var product = 17;
		break;
	}
	bio=new getHTTPObject();
	bio.open("GET", "price.php?id="+product, true);
	bio.send(null);
	bio.onreadystatechange = function(){
		if(bio.readyState==4) {
			var newPrice = parseFloat(bio.responseText);
			newPrice = newPrice.toFixed(2);
			document.getElementById('price_each').innerHTML = newPrice;
		}
		}
}

function setWineColor(whichColor, obj, wineLabel) {
	document.cookie="wineColor="+whichColor;
	resetWineColors();
	obj.style.backgroundImage='url(images/color_hilite_background.png)';
	document.getElementById('color_label').innerHTML = wineLabel;
	changeWinePhoto();
	changeWinePrice();
}

function resetWineColors() {
	var colorArray = new Array('red','grey','purple');
	for(var i =0;i<colorArray.length;i++) {
		document.getElementById(colorArray[i]).style.backgroundImage = 'url(images/color_select_background.png)';	
	}
}

function navigate(url) {
	window.location = url;	
}

function clearField(obj) {
	obj.value='';	
}

function showSippy() {
	var sippy = document.getElementById('sippyCap');
	sippy.style.visibility='visible';
}

function hideSippy() {
	var sippy = document.getElementById('sippyCap');
	sippy.style.visibility='hidden';
}

function getProductID() {
	var whichSize = getCookie('size');
	var whichCap = getCookie('cap');
	var whichColor = getCookie('color');
	var capDescription = whichColor+whichSize+whichCap;	
	var productID;
	//alert(capDescription);
	switch(capDescription) {
		case "Black27Sport" : 	productID=1;
								break;
		case "Black18Sport" : 	productID=6;
								break;
		case "Black12Sport" : 	productID=11;
								break;
		case "Black27Flat" : 	productID=23;
								break;
		case "Black18Flat" : 	productID=45;
								break;
		case "Black12Flat" : 	productID=74;
								break;
		case "Black27Loop" : 	productID=22;
								break;
		case "Black18Loop" : 	productID=46;
								break;
		case "Black12Loop" : 	productID=81;
								break;
		case "Black27SSFlat" : productID=24;
								break;
		case "Black18SSFlat" : productID=44;
								break;
		case "Black12SSFlat" : productID=70;
								break;
		case "Black27SSLoop" : 	productID=25;
								break;
		case "Black18SSLoop" : 	productID=43;
								break;
		case "Black12SSLoop" : 	productID=69;
								break;	
		case "Black12sippy" : 	productID=83;
								break;
		case "Pink27Sport" : 	productID=2;
								break;
		case "Pink18Sport" : 	productID=7;
								break;
		case "Pink12Sport" : 	productID=15;
								break;
		case "Pink27Flat" : 	productID=37;
								break;
		case "Pink18Flat" : 	productID=54;
								break;
		case "Pink12Flat" : 	productID=77;
								break;
		case "Pink27Loop" : 	productID=38;
								break;
		case "Pink18Loop" : 	productID=55;
								break;
		case "Pink12Loop" : 	productID=78;
								break;
		case "Pink27SSFlat" : productID=36;
								break;
		case "Pink18SSFlat" : productID=57;
								break;
		case "Pink12SSFlat" : productID=73;
								break;
		case "Pink27SSLoop" : 	productID=35;
								break;
		case "Pink18SSLoop" : 	productID=56;
								break;
		case "Pink12SSLoop" : 	productID=66;
								break;	
		case "Pink12sippy" : 	productID=85;
								break;
		case "Blue27Sport" : 	productID=4;
								break;
		case "Blue18Sport" : 	productID=8;
								break;
		case "Blue12Sport" : 	productID=13;
								break;
		case "Blue27Flat" : 	productID=28;
								break;
		case "Blue18Flat" : 	productID=48;
								break;
		case "Blue12Flat" : 	productID=75;
								break;
		case "Blue27Loop" : 	productID=29;
								break;
		case "Blue18Loop" : 	productID=47;
								break;
		case "Blue12Loop" : 	productID=80;
								break;
		case "Blue27SSFlat" : productID=27;
								break;
		case "Blue18SSFlat" : productID=49;
								break;
		case "Blue12SSFlat" : productID=71;
								break;
		case "Blue27SSLoop" : 	productID=26;
								break;
		case "Blue18SSLoop" : 	productID=42;
								break;
		case "Blue12SSLoop" : 	productID=68;
								break;	
		case "Blue12sippy" : 	productID=82;
								break;
		case "Green27Sport" : 	productID=3;
								break;
		case "Green18Sport" : 	productID=9;
								break;
		case "Green12Sport" : 	productID=14;
								break;
		case "Green27Flat" : 	productID=32;
								break;
		case "Green18Flat" : 	productID=53;
								break;
		case "Green12Flat" : 	productID=76;
								break;
		case "Green27Loop" : 	productID=30;
								break;
		case "Green18Loop" : 	productID=52;
								break;
		case "Green12Loop" : 	productID=79;
								break;
		case "Green27SSFlat" : productID=33;
								break;
		case "Green18SSFlat" : productID=50;
								break;
		case "Green12SSFlat" : productID=72;
								break;
		case "Green27SSLoop" : 	productID=34;
								break;
		case "Green18SSLoop" : 	productID=51;
								break;
		case "Green12SSLoop" : 	productID=67;
								break;	
		case "Green12sippy" : 	productID=84;
								break;
		case "Steel27Sport" : 	productID=5;
								break;
		case "Steel18Sport" : 	productID=10;
								break;
		case "Steel12Sport" : 	productID=12;
								break;
		case "Steel27Flat" : 	productID=39;
								break;
		case "Steel18Flat" : 	productID=59;
								break;
		case "Steel12Flat" : 	productID=63;
								break;
		case "Steel27Loop" : 	productID=31;
								break;
		case "Steel18Loop" : 	productID=58;
								break;
		case "Steel12Loop" : 	productID=62;
								break;
		case "Steel27SSFlat" : productID=40;
								break;
		case "Steel18SSFlat" : productID=60;
								break;
		case "Steel12SSFlat" : productID=64;
								break;
		case "Steel27SSLoop" : 	productID=41;
								break;
		case "Steel18SSLoop" : 	productID=61;
								break;
		case "Steel12SSLoop" : 	productID=65;
								break;	
		case "Steel12sippy" : 	productID=86;
								break;
	}
	return productID;
	//alert(productID);
}

function addToCart() {
	var product = getProductID();	
	//var quantity = document.getElementById('qty').selectedIndex+1;
	/*var order = new getHTTPObject();
	order.open("POST", "../store/index.php?main_page=product_info&cPath=1_5&products_id="+product+"&action=add_product", true);
	var data = "products_id="+product+"&cart_quantity="+quantity;
	order.send(data);
	order.onreadystatechange = function() {
		if(order.readyState==4) {
				window.location = "../store/index.php";
		}
	} */
		
	//window.location = "../store/index.php?action=buy_now&products_id="+product+"&quantity="+quantity;
	window.location = "../store/index.php?action=buy_now&products_id="+product;
}

function wineInit() {
	var wineColor=getCookie('wineColor');
	switch(wineColor) {
		case "Purple": 
			var obj = document.getElementById('purple');
			setWineColor('Purple', obj, 'Maroo Purple');
		break;
		case "Grey":
			var obj = document.getElementById('grey');
			setWineColor('Grey', obj, 'Brushed Stainless');
		break;
		case "Red":
			var obj = document.getElementById('red');
			setWineColor('Red', obj, 'Crimson Red');
		break;
	}
	
}


function addWineToCart() {
	var wineColor=getCookie('wineColor');
	//var quantity = document.getElementById('qty').selectedIndex+1;
	switch(wineColor) {
		case "Purple": 
		var product = 18;
		break;
		case "Grey":
		var product = 16;
		break;
		case "Red":
		var product = 17;
		break;
	}
	//window.location = "../store/index.php?action=buy_now&products_id="+product+"&quantity="+quantity;
	window.location = "../store/index.php?action=buy_now&products_id="+product;
}

function changePrice() {
	var product = getProductID();
	var rand = Math.floor(Math.random()*10001);
	bio=new getHTTPObject();
	bio.open("GET", "price.php?rand="+rand+"&id="+product, true);
	bio.send(null);
	bio.onreadystatechange = function(){
		if(bio.readyState==4) {
			var newPrice = parseFloat(bio.responseText);
			newPrice = newPrice.toFixed(2);
			document.getElementById('price_each').innerHTML = newPrice;
		}
		}
}

function getHTTPObject(){
	if (window.ActiveXObject) 
	return new ActiveXObject("Microsoft.XMLHTTP");
	else if (window.XMLHttpRequest) 
	return new XMLHttpRequest();
	else {
	alert("Your browser does not support AJAX.");
	return null;
		}
}

function setColorAndSize(whichColor, whichSize) {
	document.cookie="color="+whichColor;
	document.cookie="size="+whichSize;
}

function initColorStyle() {
	var color = getCookie('color');
	if(color=='Steel') {
		color='grey';	
	}
	color = color.toLowerCase();
	var obj = document.getElementById(color);
	resetColors();
	obj.style.backgroundImage='url(images/color_hilite_background.png)';
}

function setWineColorAndSize(whichColor) {
	document.cookie="wineColor="+whichColor;
}