//WHIMANTIQUES.COM
//Main JavaScript
//Custom 

//	SECTION 1 : Basic Swap-Image Functions
//	SECTION 2 : Menu effects
//	SECTION 3 : Cart Handling functions (for "no-quantity" items -- flatware functions in Section 4)
//	SECTION 4 : Flatware functions (includes handling of quantities with the cart cookies and display)
//	SECTION 5 : Cart View Cart Handling Functions 


//
//	SECTION 1 : Basic Swap Image Functions
//
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

//
//	SECTION 2 : Menu effects
//

var timeout         = 500;
var closetimer		= 0;
var ddmenuitem      = 0;

// open hidden layer
function mopen(id)
{	
	// cancel close timer
	mcancelclosetime();

	// close old layer
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';

	// get new layer and show it
	ddmenuitem = document.getElementById(id);	
	
	ddmenuitem.style.visibility = 'visible';

}
// close showed layer
function mclose()
{
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';

mclearbuttons();
}

function mclearbuttons(){

MM_swapImage('belbut','','../images/transpixel.gif',1);
MM_swapImage('flabut','','../images/transpixel.gif',1);
MM_swapImage('silbut','','../images/transpixel.gif',1);
MM_swapImage('chibut','','../images/transpixel.gif',1);
MM_swapImage('glabut','','../images/transpixel.gif',1);
MM_swapImage('jewbut','','../images/transpixel.gif',1);
MM_swapImage('misbut','','../images/transpixel.gif',1);

}

// go close timer
function mclosetime()
{
	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// close layer when click-out
document.onclick = mclose; 


function P7_Snap() { //v2.63 by PVII
 var x,y,ox,bx,oy,p,tx,a,b,k,d,da,e,el,tw,q0,xx,yy,w1,pa='px',args=P7_Snap.arguments;a=parseInt(a);
 if(document.layers||window.opera){pa='';}for(k=0;k<(args.length);k+=4){
 if((g=MM_findObj(args[k]))!=null){if((el=MM_findObj(args[k+1]))!=null){
 a=parseInt(args[k+2]);b=parseInt(args[k+3]);x=0;y=0;ox=0;oy=0;p="";tx=1;
 da="document.all['"+args[k]+"']";if(document.getElementById){
 d="document.getElementsByName('"+args[k]+"')[0]";if(!eval(d)){
 d="document.getElementById('"+args[k]+"')";if(!eval(d)){d=da;}}
 }else if(document.all){d=da;}if(document.all||document.getElementById){while(tx==1){
 p+=".offsetParent";if(eval(d+p)){x+=parseInt(eval(d+p+".offsetLeft"));y+=parseInt(eval(d+p+".offsetTop"));
 }else{tx=0;}}ox=parseInt(g.offsetLeft);oy=parseInt(g.offsetTop);tw=x+ox+y+oy;
 if(tw==0||(navigator.appVersion.indexOf("MSIE 4")>-1&&navigator.appVersion.indexOf("Mac")>-1)){
  ox=0;oy=0;if(g.style.left){x=parseInt(g.style.left);y=parseInt(g.style.top);}else{
  w1=parseInt(el.style.width);bx=(a<0)?-5-w1:-10;a=(Math.abs(a)<1000)?0:a;b=(Math.abs(b)<1000)?0:b;
  x=document.body.scrollLeft+event.clientX+bx;y=document.body.scrollTop+event.clientY;}}
 }else if(document.layers){x=g.x;y=g.y;q0=document.layers,dd="";for(var s=0;s<q0.length;s++){
  dd='document.'+q0[s].name;if(eval(dd+'.document.'+args[k])){x+=eval(dd+'.left');y+=eval(dd+'.top');
  break;}}}e=(document.layers)?el:el.style;xx=parseInt(x+ox+a),yy=parseInt(y+oy+b);
 if(navigator.appVersion.indexOf("MSIE 5")>-1 && navigator.appVersion.indexOf("Mac")>-1){
  xx+=parseInt(document.body.leftMargin);yy+=parseInt(document.body.topMargin);}
 e.left=xx+pa;e.top=yy+pa;}}}
}


//
//	SECTION 3 : Cart Handling functions (for "no-quantity" items -- flatware functions in Section 4)
//

var userCookie = unescape(document.cookie);

if(userCookie == "" || userCookie == "inquiries"){
	var itemCookies = new Array;
	}else{
var cookieParts = userCookie.split("=");
var nameCookie = cookieParts[0];
var listCookie = cookieParts[1].split(";");

var itemCookies = listCookie[0].split("z");
var nItems = itemCookies.length;
//window.alert("nItems in main flow = "+nItems);
for(i = 0 ; i <= nItems-1 ; i++){
	itemCookies[i] = unescape(itemCookies[i]);
	//window.alert("Item#"+(i+1)+" : "+itemCookies[i]);
}
}

var aButtonOver = new Array();
var aButtonOut = new Array();
var aIsInCart = new Array();
var aInquiryButts = new Array();

function updateItemCookie(inquiry, nEntry){		//only used by Flatware pages, with quantity parameters...
	var nItems = itemCookies.length;
	
	if(nItems > 0){
		for(o = 0 ; o < nItems ; o++){
					//if(itemCookies[o] != undefined){
					//remove quantity in 4959!fla!6	<-----
					var tempCookie = itemCookies[o].split("!");
					var itemCookie = tempCookie[0]+"!"+tempCookie[1];
					//}	
					if(inquiry == itemCookie){
					//window.alert("CHANGING");
						//item is among cookies, update
						var nQuantity = document.quantities.elements[nEntry-1].selectedIndex;
							//window.alert("nQuantity is : "+nQuantity);
						if(nQuantity > 0){
							itemCookies[o] = itemCookie+"!"+nQuantity;
							//window.alert("NEW cookie is : "+itemCookies[o]);
							writeCookie();
							}else{
								removeFlatwareCartItem(itemCookie);
								updateFlatwareButtons;
							}
						
					}
			}
	}		
}

function updateButtons(){

	   var nItems = itemCookies.length;
	     
	   for(i = 1 ; i <= totalentries ; i++){

	   		var bInCart = false;
	   		for(o = 0 ; o <= nItems ; o++){
	   			if(stockonpage[i] == itemCookies[o]){
					bInCart = true;
				}
	   		}
			
			if(bInCart == false){
				aButtonOver[i] = "../images/addbutt_f2.jpg";
				aButtonOut[i] = "../images/addbutt.jpg";
				aIsInCart[i] = false;
			}else{
				aButtonOver[i] = "../images/removebutt_f2.jpg";
				aButtonOut[i] = "../images/removebutt.jpg";
				aIsInCart[i] = true;
			}
			document.getElementById("addbutt"+i).src = aButtonOut[i];
	   }   
	   
}


function toggleItemCookie(inquiry){
	var nItems = itemCookies.length;
 
	var bProceed = true;
	for(i = 0 ; i <= nItems-1 ; i++){
		if(itemCookies[i] == inquiry){
			bProceed = false;		
		}
	}
	if(bProceed == true){	//not in cart, add item
		itemCookies[nItems] = inquiry;
		writeCookie();
		updateButtons();	
	}else{					//it is in cart, remove item
		removeCartItem(inquiry);
	
	};
	
	
}

function removeCartItem(itemstring){
	var nItems = itemCookies.length;
	
	splicepoint = -1;
	for(i = 0 ; i < nItems ; i++){
	if(itemCookies[i] == itemstring){
		splicepoint = i;
	} 
}
	if(splicepoint != -1){
		for(i = splicepoint ; i < nItems-1 ; i++){
			itemCookies[i] = itemCookies[i+1];
		}
		removed = itemCookies.splice(nItems-1, 1);
	}
	writeCookie();
	updateButtons();
	
	//window.location.reload(); 
}

function addItemCookie(inquiry){
var nItems = itemCookies.length;
	var bProceed = true;
	for(i = 0 ; i <= nItems-1 ; i++){
		if(itemCookies[i] == inquiry){
			bProceed = false;
			writeCookie();
			updateButtons();
		};
	}
	if(bProceed == true){
		itemCookies[nItems] = inquiry;	
		writeCookie();
		updateButtons();
		
	};	
	
}

function writeCookie(){
var nItems = itemCookies.length;
	var fullCookie = "inquiries=";
	if(nItems > 0){
	
	for(i = 0 ; i <= nItems-1 ; i++){
		if(itemCookies[i] != ""){
				fullCookie+= escape(itemCookies[i]);
				if (i < (nItems-1)){
					fullCookie+= "z";
				}
		}
	}
	}
	fullCookie+= ";path=/";
	
	if(nItems != 0){
		document.cookie = fullCookie;
	}else{
	//window.alert("ERASING COOKIE DATA");
	document.cookie = "inquiries=;path=/;";
	}

}

function windowMessage(inquiry){
window.alert(inquiry);
}



//
//	SECTION 4 : Flatware functions (includes handling of quantities with the cart cookies and display)
//


function removeFlatwareCartItem(itemstring){
	var nItems = itemCookies.length;
	//window.alert("removing"+itemstring);
	
	splicepoint = -1;
	
		if(nItems > 0){
			for(o = 0 ; o <= nItems-1 ; o++){
					if(itemCookies[o] != undefined){
					//remove quantity in 4959!fla!6	<-----
						var tempCookie = itemCookies[o].split("!");
						var itemCookie = tempCookie[0]+"!"+tempCookie[1];
						
					}
					
					if(itemstring == itemCookie){
					//window.alert("DELETING "+itemCookies[o]);
						//item is among cookies, update
						splicepoint = o;
						
					}
			}
				
			if(splicepoint != -1){
				for(i = splicepoint ; i < nItems-1 ; i++){
					itemCookies[i] = itemCookies[i+1];
				}
			removed = itemCookies.splice(nItems-1, 1);
			writeCookie();
			updateButtons();
			}
		//window.alert("#of cookies:"+nItems+" strippedcookie:"+itemcookie+" itemstring:"+itemstring);	
	
	}
	//window.location.reload(); 
}

function toggleFlatwareCookie(inquiry,nEntry){	//special version for stock processing w/quantity
	var nItems = itemCookies.length;
	var tempInquiry = inquiry.split("!");
	var genericInquiry = tempInquiry[0]+"!"+tempInquiry[1];
	//var genericInquiry = inquiry.split("!");
	
 
	var bProceed = true;
	var nCookieChange = -1;
	
	if(nItems > 0){
	
	for(i = 0 ; i <= nItems-1 ; i++){
		if(itemCookies[i] != undefined){
					//remove quantity in 4959!fla!6	<-----
						var tempCookie = itemCookies[i].split("!");
						var itemCookie = tempCookie[0]+"!"+tempCookie[1];
						
					}
		if(itemCookie == genericInquiry){
			bProceed = false;	
			nCookieChange = i;	
		}
	}
	}
	var nQuantity = 0;
	var qField = "quantity"+(nEntry);
	//window.alert("Loooking for element "+qField+"  "+document.getElementById(qField));
	if(document.getElementById(qField)){
		//window.alert("this item has a quantity field.");
		nQuantity = document.quantities.elements[nEntry-1].selectedIndex;
		//window.alert("the quantity is:"+nQuantity);
		if(nQuantity <= 0){
			bProceed = false;
			window.alert("PLEASE SELECT A QUANTITY OF STOCK.");
		}
	
	}
	
	
	
	//window.alert("quantity is "+quantity);
	
	
	if(bProceed == true && nCookieChange == -1){	//not in cart, add item
		itemCookies[nItems] = genericInquiry;
		if(nQuantity > 0){
			itemCookies[nItems]+="!"+nQuantity;
			}
		writeCookie();
		updateFlatwareButtons();	
		//window.alert("itemCookie being written: "+itemCookies[nItems]);
	}else{					//it is in cart, remove item
		removeFlatwareCartItem(inquiry);
	
	};
	
	
}

function updateFlatwareButtons(){

	   var nItems = itemCookies.length;
	     
	   for(i = 1 ; i <= totalentries ; i++){

	   		var bInCart = false;
			
			if(nItems > 0){
			
				for(o = 0 ; o < nItems ; o++){//? <=
					//var itemCook="983-2!fla";
					
				var theCookie = itemCookies[o];
				
					var tempCookie = theCookie.split("!");
					var itemCook = tempCookie[0]+"!"+tempCookie[1];
					if(stockonpage[i] == itemCook){
						bInCart = true;
						var nQuantity = tempCookie[2];
					}
				}
			
			}
			
			if(bInCart == false){
				aButtonOver[i] = "../images/addbutt_f2.jpg";
				aButtonOut[i] = "../images/addbutt.jpg";
				aIsInCart[i] = false;
			}else{
				aButtonOver[i] = "../images/removebutt_f2.jpg";
				aButtonOut[i] = "../images/removebutt.jpg";
				aIsInCart[i] = true;
				if(document.getElementById("quantity"+i)){
				document.getElementById("quantity"+i).selectedIndex = nQuantity;
				}
			}
			document.getElementById("addbutt"+i).src = aButtonOut[i];
	   }   
	   
}

//
//	SECTION 5 : Cart View Cart Handling Functions 
//

function cartDisplayremoveCartItem(itemstring){
	var nItems = itemCookies.length;
	//window.alert(itemstring);
	//window.alert(userCookie);
	
	splicepoint = -1;
	for(i = 0 ; i < nItems ; i++){
	if(itemCookies[i] == itemstring){
		splicepoint = i;
	} 
}
	if(splicepoint != -1){
		for(i = splicepoint ; i < nItems-1 ; i++){
			itemCookies[i] = itemCookies[i+1];
		}
		removed = itemCookies.splice(nItems-1, 1);
	}
	writeCookie();
	
	window.location.reload(); 
}


