function slideShowPopup() {
	ShowPopUpWindow('slideShowPopup', 'slides.cfm', 492, 520, 'yes', 'no', 'yes');
}

function TasteLink(WineID, w, h, newWin){
	if( newWin )
		ShowPopUpWindow("TastingNote","tastenote.cfm?wine_id="+WineID,w,h,"no","no","yes");
	else
		document.location.href = 'tastenote.cfm?wine_id=' + WineID;
}
function ClientPort(clientid, w, h){
	
		ShowPopUpWindow("ClientPortfolio","portfolio.cfm?client_id="+clientid,w,h,"no","no","yes");
}

function PopupPDF(fileID) {
	ShowPopUpWindow('PDFDownload', 'pdfdownload.cfm?download=' + fileID, 650, 520, 'yes', 'no', 'yes');
}

function recalculate() {
	
	var workname;
	
	var numels = document.frmBasket.elements.length;
	
	numels=numels-1;
	var errorflag = 0;

	for (var i = 0; i <= numels; i++) {
	workname='';
		if (document.frmBasket.elements[i].name.length > 2) {
		workname= document.frmBasket.elements[i].name.substring(0,3);
		}
		
		if (workname=='qty') {
		
			if (!isInteger(document.frmBasket.elements[i].value)) {
				errorflag=1;
			}
			
		}
	}
	
	if (errorflag==0) {
		document.frmBasket.submit();
	} else {
		alert('All quantities must be numeric!');		
	}
}
function myorder(ca){
	
	var f;
	var f = document.frmBasket;
	f.action = securebasehref + 'default.cfm/loadfile.BuyBasket.cfm';
	if (ca == '1') {
		f.NextStep.value = '';
	}
	f.submit();
}
function ShowSecurePopUp(Name, File, w, h, Status, Resize, Scroll){
	var t=0, l = 0, winstring = "";
	var infowindow;

	if(infowindow){
		if(!infowindow.closed) infowindow.close();
	}

	l = ((screen.width / 2) - (w / 2));
	t = ((screen.height / 2) - (h / 2));

	winstring = "width=" + w + ", height=" + h + ",left=" + l + ",top=" + t +  ",status=" + Status + ",resizable=" + Resize + ",scrollbars=" + Scroll;
	infowindow = window.open(File,Name,winstring);
	return;
}

function slides(base){



	var strUrl = base + "slides.cfm";
	alert(strUrl);
	ShowSecurePopUp("Russia Experience", strUrl, 500, 400, "no", "no", "yes");


}
function isEmail(email) {
	var invalidCharString = " ,<>!\"?%^&*()+=*/\\\';:#~[]{}";
	var i = 0;
	
	for (i = 0; i < invalidCharString.length; i++) {
		if (-1 < email.indexOf(invalidCharString.charAt(i))) {
			return false;
		}
	}
	
	var firstAt = email.indexOf('@');
	var lastAt = email.lastIndexOf('@');
	var lastDot = email.lastIndexOf('.');
	if (!((0 < firstAt) && (1 < lastDot) && (firstAt == lastAt) && ((firstAt + 1) < lastDot) && (lastDot < (email.length - 2)))) 
	{
		return false;
	}
	else {
		return true;
	}
}

function ShowPopUpLogin(){
	var Name='winLogin';
	var File="Login.cfm";
	var w=300;
	var h=200;
	var Status="no";
	var Resize="no";
	var Scroll="no";
	var t=0, l = 0, winstring = "";
	var infowindow;

	if(infowindow){
		if(!infowindow.closed) infowindow.close()
	}

	l = ((screen.width / 2) - (w / 2))
	t = ((screen.height / 2) - (h / 2))

	winstring = "width=" + w + ", height=" + h + ",left=" + l + ",top=" + t +  ",status=" + Status + ",resizable=" + Resize + ",scrollbars=" + Scroll;

	infowindow = window.open(File,Name,winstring);
}
function stripCharsInBag(s, bag){
	var i;
	var returnString = "";
	// Search through string's characters one by one.
	// If character is not in bag, append to returnString.
	for (i = 0; i < s.length; i++){
		var c = s.charAt(i);
		if (bag.indexOf(c) == -1) returnString += c;
	}
	return returnString;
}
function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
	// EXCEPT for centurial years which are not also divisible by 400.
	return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   }
   return this
}

function isCurrency(s) {
	s = s.replace(",","");
	s = s.replace("?","");
	var rg="/\d*?\.?/";
	
	if(s.indexOf(".")!=-1) {
		if(s.length - s.indexOf(".")>3) {
			return false;
		}
	}
	if(rg.test(s) && !isNaN(s)) {
		return true;
	}
	return false;
}

function isInteger(s){
 var i;
 for (i = 0; i < s.length; i++){
  // Check that current character is number.
  var c = s.charAt(i);
  if (((c < "0") || (c > "9"))) return false;
 }
 // All characters are numbers.
 return true;
}

function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}

function isNumWithSpace(s){
 var i;
  if(s.length==0){
  	return false;
  }
 for (i = 0; i < s.length; i++){
  // Check that current character is number or space.
  var c = s.charAt(i);
  if(c== " "){
  	c="0"
  }
  if (((c < "0") || (c > "9"))) return false;
 }
 // All characters are numbers.
 return true;
}

function isDate(dtStr){
 var dtCh= "/";
 var minYear=1900;
 var maxYear=2100;

 var daysInMonth = DaysArray(12);
 var pos1=dtStr.indexOf(dtCh);
 var pos2=dtStr.indexOf(dtCh,pos1+1);
 var strDay=dtStr.substring(0,pos1);
 var strMonth=dtStr.substring(pos1+1,pos2);
 var strYear=dtStr.substring(pos2+1)
 strYr=strYear;
 if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
 if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
 for (var i = 1; i <= 3; i++) {
  if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
 }
 month=parseInt(strMonth)
 day=parseInt(strDay)
 year=parseInt(strYr)
 if (pos1==-1 || pos2==-1){
//     alert("The date format should be : dd/mm/yyyy")
  return false
 }
 if (month<1 || month>12){
  alert("Please enter a valid month")
  return false
 }
 if (day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
//     alert("Please enter a valid day")
  return false
 }
 if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
//     alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
  return false
 }
if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
 return false
 }
 return true
}

function SetStyle(id, newClass) {
	identity=document.getElementById(id);
	identity.className=newClass;
}

function SetVisibility(id, visible) {
	if (visible) {
		SetStyle(id, "visibleElement");
	}
	else {
		SetStyle(id, "hiddenElement");
	}
}
			
function getRadioButtonValue(radioButtonArray) {
	var value = '';
	for (var i=0; i<radioButtonArray.length; i++) {
		if (radioButtonArray[i].checked) {
			value = radioButtonArray[i].value;
			break;
		}
	}
	
	return value;
}

function addToFavorites(urlAddress, pageName) { 
	if (window.external) { 
		window.external.AddFavorite(urlAddress,pageName) 
	} else { 
		alert("Sorry! Your browser doesn't support this function."); 
	}
}