// Ergonet, Estall : Revision July 2009.
var cookieValue;
var eNbbCall;
//
function passToDel(obj) {
	// Pass a value entered to the order invoice adddress fields
	// over to it's corresponding delivery address field.
	if (obj != null) {
		var str=obj.id;
		var str1='del'+str;
		
		var obj2 = document.getElementById(str1);
		if (obj2 != null) {
			obj2.value=obj.value;
		} else {
			trace(str1+' not found');
		}
	} else {
//	trace('pass to del');
	}
}
function passToAdr(obj) {
	// Pass a value entered to the order deliver adddress fields
	// over to it's corresponding invoice address field.
	if (obj != null) {
		var str=obj.id;
		var str1=str.substr(3);
	//	trace(str1);
		var obj2 = document.getElementById(str1);
		if (obj2 != null) {
			obj2.value=obj.value;
		} else {
			trace(str1+' not found');
		}
	} else {
//		trace('pass to adr');
	}
}

function albumOpenClose(id,pic,w,h,title,desc,i) {
	var albumDiv = document.getElementById(id);
	if (albumDiv != null) {
		if (albumDiv.style.display=='none') {
	//		alert('showing: '+id);
			albumDiv.style.display='block';
			albumDiv.style.height='auto';
			var albumImage = document.getElementById('albumImage');
			if (albumImage != null) { 
				if (pic) {
	//				trace(pic +' w: '+w+', h: '+h);
					albumImage.src = pic;
				} else {
					albumImage.src = '/lib/graphics/spacer.gif';
				}
				albumImage.width = w;
				albumImage.height = h;
			}
			var albumNotes = document.getElementById('albumNotes');
			if (albumNotes != null) albumNotes.innerHTML=desc;
			var albumTitle = document.getElementById('albumTitle');
			if (albumTitle != null) albumTitle.innerHTML=title;
			var plusMinus = document.getElementById('b'+id);
			if (plusMinus != null) plusMinus.src="/lib/graphics/whiteArrow2.gif";
		} else {
	//		alert('hiding: '+id);
			var albumImage = document.getElementById('albumImage');
			if (albumImage != null) { 
//				albumImage.src = '/lib/graphics/spacer.gif';
			}
			var albumNotes = document.getElementById('albumNotes');
//			albumNotes.innerHTML='';
			var albumTitle = document.getElementById('albumTitle');
//			albumTitle.innerHTML='';
			albumDiv.style.display='none';
			albumDiv.style.height='0px';
			var plusMinus = document.getElementById('b'+id);
			if (plusMinus != null) plusMinus.src="/lib/graphics/whiteArrow1.gif";
		}
	} else { alert('missing div: '+id); }
}
var sentToPayPal = false;
function recordOrderPassedToPayPal(soid) {
	
	if (!sentToPayPal) {
		// getInterface(addToBasketScript+'?checkoutStep=2&ref='+cookieValue+'&soid='+soid,'checkoutFormBasketDisplay');
		var uri = addToBasketScript+'?func=recordOrderPassedToPayPal&checkoutStep=2&ref='+cookieValue+'&soid='+soid;
		sendToServer(uri);
		var obj = document.getElementById('titleAndNav');
		if (obj != null) {
			obj.innerHTML = "Thanks for your order! .. transferring to PayPal..";
			var obj2 = document.getElementById('payPalForm');
			if (obj2 !=null) {
				sentToPayPal = true;
//				trace('payPalForm submit');
				obj2.submit();
			} else {
				trace('payPalForm not found');
			}
		}
	
		var clearDivs = new Array('checkoutAddressForms','addressSaveButton','checkoutFormBasketDisplay','payPalButton');
		closeBasket();
		for (var i=0; i<clearDivs.length; i++) {
			var obj = document.getElementById(clearDivs[i]);
			if (obj != null) {
				obj.innerHTML='';
			}
		}
	} else {
		sentToPayPal = false;
	}
	return true;
}

function desidChange(path,params) {
	var obj = document.getElementById('desid');
	if (obj != null) {
		var desid = obj.value;
		//   prams = '&ref=981803&soid=215&desid=' + desid
		if (desid) {
			params += "&desid="+desid;
			
			
			
			if (!eNbbCall) {
			
			window.location.hash = path + params;
			
			} else {
			
//				trace('eNbbCall');
				
				var str = "func=desidChange" + params;
		
				str = dataSourcePath + "?" + str;

				sendToServer(str);
				
				
				
			}
			
		}
	}
}
function closeBasket() {/*
	var obj = document.getElementById('basketDiv');
	if (obj != null) {
		appOpen('basketDiv');
	}
	*/
		appOpenClose('basketDiv',''); // see appWin.js
	var obj = document.getElementById('basket');
	if (obj != null) {
		obj.style.display="none";
	}
}
function openBasket() {
	var obj = document.getElementById('basket');
	if (obj != null) {
		obj.style.display="block";
	}
	var obj = document.getElementById('basketDiv');
	if (obj != null) {
		appOpen('basketDiv');
	}
	// lib/estall/basket.php
	var uri = addToBasketScript+'?func=openBasket&ref='+cookieValue;
	sendToServer(uri);
}
function addItemToBasket(pid,catid,numberOfSelectors,domain,func) {
	var obj = document.getElementById('basket');
	if (obj != null) {
		obj.style.display="block";
	}
	var versionParams='';
	if (numberOfSelectors > 0) {
		for (var i=0; i<numberOfSelectors; i++) {
			var obj = document.getElementById('compSelect'+i);
			if (obj != null && obj.value>0) {
				versionParams += obj.value+',';
			}
		}
	}
	if (versionParams) {
		versionParams = "&vers="+versionParams;
	}
	var obj = document.getElementById('addToBasketQty');
	var addToBasketQty=1;
	if (obj != null) {
		addToBasketQty = obj.value;
	}
//	trace('conf/app/shop/basket.php?ref='+cookieValue+'&pid='+pid);
//trace('?ref='+cookieValue+'&pid='+pid);
	obj = document.getElementById('basketDiv');
	if (obj != null) {
		appOpen('basketDiv'); // is a property of conducta/js/appWin.js
	}
//	trace(addToBasketScript+'?ref='+cookieValue+'&pid='+pid+'&catId='+catid+'&addToBasketQty='+addToBasketQty+versionParams);
//	getInterface(addToBasketScript+'?dn='+domain+'&ref='+cookieValue+'&pid='+pid+'&catId='+catid+'&addToBasketQty='+addToBasketQty+versionParams,'basket');
	
	var uri = addToBasketScript+'?func='+func+'&dn='+domain+'&ref='+cookieValue+'&pid='+pid+'&catId='+catid+'&addToBasketQty='+addToBasketQty+versionParams;
	// revision Feb 28 2009
	// in the light of eNbb we change to using
	//		sendToServer(uri)
	//  and	evaluateServerResponse()
//	trace('uri: '+uri);
	sendToServer(uri);
}
function addTrackToBasket(scompid,pid,domain) {
	appOpen('basketDiv');
	var uri = addToBasketScript+'?dn='+domain+'&ref='+cookieValue+'&scompid='+scompid+'&pid='+pid;
//	trace(str);
	//getInterface(addToBasketScript+'?dn='+domain+'&ref='+cookieValue+'&scompid='+scompid+'&pid='+pid,'basket');
	sendToServer(uri);
}
function removeTrackFromBasket(scompid) {
	
	//getInterface(addToBasketScript+'?remove&ref='+cookieValue+'&scompid='+scompid,'basket');
	var uri = addToBasketScript+'?func=removeTrackFromBasket&remove&ref='+cookieValue+'&scompid='+scompid;
	sendToServer(uri);
}
function removeTrackFromBasketReview(scompid) {
	
	//getInterface(addToBasketScript+'?remove&ref='+cookieValue+'&scompid='+scompid,'basket');
	var uri = addToBasketScript+'?func=removeTrackFromBasketReview&remove&ref='+cookieValue+'&scompid='+scompid;
	sendToServer(uri);
}
function removeItemFromBasket(solid, pid,vers) {
	
	//getInterface(addToBasketScript+'?remove&ref='+cookieValue+'&pid='+pid+'&vers='+vers,'basket');
	var uri = addToBasketScript+'?func=removeFromBasket&remove&ref='+cookieValue+'&solid='+solid+'&pid='+pid+'&vers='+vers;
	sendToServer(uri);
}
function removeItemFromBasketReview(solid, pid,vers) {
	
	//getInterface(addToBasketScript+'?remove&ref='+cookieValue+'&pid='+pid+'&vers='+vers,'checkoutFormBasketDisplay');
	var uri = addToBasketScript+'?func=removeFromBasketReview&remove&ref='+cookieValue+'&solid='+solid+'&pid='+pid+'&vers='+vers;
	sendToServer(uri);
}
function viewBasket() {
//	trace('viewBasket');
	var obj = document.getElementById('basket');
	if (obj != null) {
		obj.style.display="block";
	}
	
	//appOpen('basketDiv');
	if (cookieValue != null) {
		randval = Math.floor(Math.random()*10000);
		//getInterface(addToBasketScript+'?ref='+cookieValue+'&r='+randval,'basket');
		var uri = addToBasketScript+'?func=openBasket&ref='+cookieValue+'&r='+randval;
//		trace('viewBasket: '+uri);
		sendToServer(uri);
	} else {
		trace('no cookie value');
	}
}
function viewOrders() {
	
	//appOpen('orderDiv');
	if (cookieValue != null) {
		randval = Math.floor(Math.random());
//		trace(viewOrdersScript);
//		getInterface(viewOrdersScript,'orders');
		sendToServer(viewOrdersScript);
	}
}
function goToCheckout() {
	showShopPanel();
	var str = "func=checkout&ref="+cookieValue;
	str = addToBasketScript + "?" + str;
//	trace(str);
	sendToServer(str);
}
function initCookie() {
	//alert('init Cookie');
	if (cookieName != null && xhr) {
		cookieValue=getCookie(cookieName);
		//  || typeof(cookieValue) != 'number'
		//      || ( typeof(cookieValue)=='number' && parseInt(cookieValue) >1000000 )
		if (!cookieValue || cookieValue.length>7 || ( parseInt(cookieValue) >1000000 ) ) {
			var cookieRef = Math.floor((Math.random())*1000000);
			setCookie(cookieName,cookieRef,1,'/',false);
			cookieValue=getCookie(cookieName);
		}
	}
//	if (!cookieValue) {
//		trace('no cookie! no shop !');
//	} else {
//		trace('cookie: '+cookieValue	);
//	}
}
function IsNumeric(sText) {
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;
	for (i = 0; i < sText.length && IsNumber == true; i++) { 
	  Char = sText.charAt(i); 
	  if (ValidChars.indexOf(Char) == -1) {
		 IsNumber = false;
		 }
	  }
	return IsNumber;
}

function sortby(what) {
	switch(what) {
		case "album":
		
		break;
		case "track":
		
		break;
	}
}
/* Checkout */
function agreeTC(pathAndParams) {
	var obj=document.getElementById('agree');
	if (obj!=null && obj.checked) {
		var nextpath=pathAndParams + "&func=agreeTC&checkoutStep=1&agreeTC=1";
		if (eNbbCall) {
			nextpath += "&eNbb=0";
		}
	//	trace(nextpath);
		scrollPageBodyToTop();
	//	getInterface(nextpath,'shopPanel');
		sendToServer(nextpath);
	} else {

	}
}
var currentSpinnerSpan=null;
function setSpinner( id, bool ) {
	//  graphics/browser/xhrSpinnerStatic.png
	var spinner = "<img src='"+xhrActiveGraphic+"' alt='spinner' class='estallRowSpinner' />";
	if (id) {
		var currentSpinnerSpan = document.getElementById(id);
		if (currentSpinnerSpan != null ) {
			if (bool) {
				currentSpinnerSpan.innerHTML = spinner;
			} else {
				currentSpinnerSpan.innerHTML = '&nbsp;';
			}
		} else { trace('not found: '+id); }
	} else {
		if (currentSpinnerSpan != null) {
			var currentSpinnerSpan = document.getElementById(id);
			if (currentSpinnerSpan != null ) {
				currentSpinnerSpan.innerHTML='&nbsp;';
				currentSpinnerSpan=null;
			}
		}	
	}
}
function saveEstallAddressField(adrid,fldObject) {
	if (adrid && fldObject) {
		// save one field value
		var fldName = fldObject.id;
		var fldVal = fldObject.value;
		var xhrSpan = fldName+'Xhr';
		setSpinner(xhrSpan,true);
		var params = "&adrid="+adrid;
		params += "&fld="+fldName+"&val="+fldVal.replace("&","~amp~");
		var uri = addToBasketScript+'?func=saveEstallAddressField&ref='+cookieValue+params;
//		trace('save field: '+uri);
		sendToServer(uri);
	}
}
function updateTerritorySelector(id,terid) {
	if (id && terid) {
		var obj = document.getElementById('id');
		if (obj != null) {
			for (var i=0; i<obj.options.length; i++) {
				if (obj.options[i].value == terid) {
					obj.options.selected = true;
				}
			}
		}
	}
}
function setEafValue(inpt,val) {
	if (val) {
		var obj=document.getElementById(inpt);
		if (obj != null) {
			obj.value=val;	
		} else {
			trace('not found: '+inpt);	
		}
	}
}
function checkCheckoutAddressForm(params) {
	postFormData('checkoutAddressForm');
}
function checkoutDeliveryAdrSelect() {
	var obj = document.getElementById('myAdrSelector');
	if (obj != null) {
		var adrid = obj.value;
		// now send a request to populate each of the delivery address fields with this one.
		// var path='';
		var uri = '';
		if (adrid !=0) {
			uri = '/lib/estall/getDeliveryAddress.php?func=getDeliveryAddress&deliveryAddressID='+adrid;
			//     getDeliveryAddress
		} else {
			uri = '/lib/estall/getDeliveryAddress.php?func=getDeliveryAddress&new=1&deliveryAddressID=0';
		}
	//	alert(path);
//		getInterface(path,'checkoutDeliveryAdress');
		sendToServer(uri);
	}
}
function newDeliveryAddress() {
	var path="lib/estall/getDeliveryAddress.php?new=1&deliveryAddressID=0";
	getInterface(path,'checkoutDeliveryAdress');	
}
function checkCheckoutForm() {
	var em = document.getElementById('em');
	var basketPrice = document.getElementById('basketPrice');
	if (em != null && basketPrice != null) {
		var emValue = em.value;
		var basketPriceValue = basketPrice.value;
		
		if(emValue.indexOf('@')>1 && emValue.indexOf(".")>0) {
			// ask if the user accepts the total value for processing
			
			temp=window.confirm('The total charge is:\n  '+basketPriceValue+'\nProceed to PayPal?');
			if(temp == true) {
				deleteCookie(cookieName,'/',false);
				
				// postFormData to $checkout_url 
				
				postFormData('checkout');
				closeBasket();
				
				document.returnValue=false;
			}
		} else {
			alert("Please enter a valid email address");
			document.returnValue=false;
			em.focus();
		}
	}

}

/* Orders */
function ordersFormSubmit (f) {
	// Check that each file has a selected download format
	// 'ordersForm_' + f + '.ver01_' + scompid
	
	document.returnValue=true;
	
	// document.returnValue=false;
}