var bc_checked = false;


function rxhelp(lenstype, lensid) {
	tmp = window.open('rxhelp.asp?Mode=' + lenstype + '&LensID=' + lensid,'','width=400,height=400,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,copyhistory=no,resizable=yes');
};

function enlargelens(photoname) {
	tmp = window.open('enlargelens.asp?PhotoName=' + photoname,'','width=500,height=500,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,copyhistory=no,resizable=yes');
};


function removeCheck(form, eye) {
	
	if (eye == 1) {
	    if (form.REMOVE_RIGHT) {
			if (REMOVE_RIGHT.checked) {
    		
				REMOVE_RIGHT.checked = false;
    			 }; 
	    };
	};
	if (eye == 2) {
		if (form.REMOVE_LEFT) {
		    if (REMOVE_LEFT.checked) {
			
			    REMOVE_LEFT.checked = false;
				  
		    };
		 };
	};
	
};

function validrebatenew(form, rebatefield, requiredboxes) {
	var retvalue = true;
	var orderedboxes = 0;
	
	if (rebatefield.checked) {
	    
	    //var checks = document.getElementsByName('AddAccessory[]');
	    //var boxLength = checks.length;
	    //alert(boxLength);
	 
		orderedboxes = parseInt(form.R_Quantity.options[form.R_Quantity.selectedIndex].text);
		orderedboxes = orderedboxes + parseInt(form.L_Quantity.options[form.L_Quantity.selectedIndex].text);
		
		//alert("Required: "+requiredboxes);
	    //alert("Ordered: "+orderedboxes);
		
		if (orderedboxes < requiredboxes) {
			alert('In order to qualify for this offer, you must order a minimum of ' + requiredboxes + ' boxes.');
			rebatefield.checked = false;
			//form[rebateProductID.checked] = false;
			form.R_Quantity.focus();
			retvalue = false;
		};
		
		if (retvalue) {
			radioButton(form, "AddRebate", rebatefield.getAttribute("Name"));
		};	  
	};
	return retvalue;
};

function radioButton(form, groupName, selName) { 
	if (document.forms && document.getElementsByTagName) { 
	    var raFields = form.getElementsByTagName("input");
	    
	    for (i=0; i<raFields.length; i++) { 
			if (raFields[i].getAttribute("type").toLowerCase() == "checkbox") {
				var compname = raFields[i].getAttribute("Name").substring(0, groupName.length);
				if ( compname == groupName && raFields[i].getAttribute("Name") != selName ) {
					if (raFields[i].checked) {
						//alert("clearing: " + raFields[i].getAttribute("Name"));
						raFields[i].checked = false;
						alert("You may only select one rebate form.");
					}
				}
			}
	    } 
	} 
}


function validgift(form) {
	var retvalue = true;
	var requiredboxes = 8;
	var orderedboxes = 0;
	
	if (eval(form.AddAccessory15903)) {
		if (form.AddAccessory15903.checked) {
		    
			orderedboxes = parseInt(form.R_Quantity.options[form.R_Quantity.selectedIndex].text);
			orderedboxes = orderedboxes + parseInt(form.L_Quantity.options[form.L_Quantity.selectedIndex].text);
			
			if (orderedboxes < requiredboxes) {
				alert("In order to qualify for this offer, you must order a minimum of 8 boxes.");
				form.AddAccessory15903.checked = false;
				form.R_Quantity.focus();
				retvalue = false;
			};
		};
	};
	return retvalue;
};

function validoasys(form) {
	var retvalue = true;
	var requiredboxes = 8;
	var orderedboxes = 0;
	
	if (eval(form.AddAccessory10975)) {
		if (form.AddAccessory10975.checked) {
		
			orderedboxes = parseInt(form.R_Quantity.options[form.R_Quantity.selectedIndex].text);
			orderedboxes = orderedboxes + parseInt(form.L_Quantity.options[form.L_Quantity.selectedIndex].text);
			if (orderedboxes < requiredboxes) {
				alert("In order to qualify for this $25 options Gift Card, you must order a minimum of 8 boxes.");
				form.AddAccessory10975.checked = false;
				form.R_Quantity.focus();
				retvalue = false;
			};
		};
	};
	return retvalue;
};

function validcase(form) {
	var retvalue = true;
	var requiredboxes = 4;
	var orderedboxes = 0;
	
	if (eval(form.AddAccessory6333)) {
		if (form.AddAccessory6333.checked) {
		
			orderedboxes = parseInt(form.R_Quantity.options[form.R_Quantity.selectedIndex].text);
			orderedboxes = orderedboxes + parseInt(form.L_Quantity.options[form.L_Quantity.selectedIndex].text);
			if (orderedboxes < requiredboxes) {
				alert("In order to qualify for this FREE case, you must order a minimum of 4 boxes.");
				form.AddAccessory6333.checked = false;
				form.R_Quantity.focus();
				retvalue = false;
			};
		};
	};
	return retvalue;
};

function validacuvue(form) {
	var retvalue = true;
	var requiredboxes = 8;
	var orderedboxes = 0;
	
	if (eval(form.AddAccessory11782)) {
		if (form.AddAccessory11782.checked) {
		
			orderedboxes = parseInt(form.R_Quantity.options[form.R_Quantity.selectedIndex].text);
			orderedboxes = orderedboxes + parseInt(form.L_Quantity.options[form.L_Quantity.selectedIndex].text);
			if (orderedboxes < requiredboxes) {
				alert("In order to qualify for this exclusive rebate, you must order a minimum of 8 boxes.");
				form.AddAccessory11782.checked = false;
				form.R_Quantity.focus();
				retvalue = false;
			};
		};
	};
	return retvalue;
};

function validlens(form) {
	var retvalue = true;
	var orderedboxes = 0;
	var rqty = 0;
	var lqty = 0;
	var rdel = false;
	var ldel = false;
	
	rqty = parseInt(form.R_Quantity.options[form.R_Quantity.selectedIndex].text);
	lqty = parseInt(form.L_Quantity.options[form.L_Quantity.selectedIndex].text);
	
	if (form.REMOVE_RIGHT) {
		if (form.REMOVE_RIGHT.checked) {
			rqty = 0;
			rdel = true;
		}
	}
	
	if (form.REMOVE_LEFT) {
		if (form.REMOVE_LEFT.checked) {
			lqty = 0;
			ldel = true;
		}
	}
	
	if (!(rdel && ldel)) {
		orderedboxes = rqty + lqty;
		
		//alert(orderedboxes);
			
		if (form.R_BCParameter && form.L_BCParameter && !(bc_checked)) {
		   if (eval(form.R_BCParameter.options)) {
			   if (form.R_BCParameter.options[form.R_BCParameter.selectedIndex].value != form.L_BCParameter.options[form.L_BCParameter.selectedIndex].value 
				   && form.R_BCParameter.options[form.R_BCParameter.selectedIndex].value != "" && form.L_BCParameter.options[form.L_BCParameter.selectedIndex].value != ""
				   && rqty > 0 && lqty > 0) {
				
				   //alert("It is unusual to have a prescription for two different Base Curves (BC). Please check your prescription and correct this form if necessary.");
				   retvalue = confirm("It is unusual to have a prescription for two different Base Curves (BC). Please check your prescription and correct this form if necessary. Click 'OK' to continue or 'Cancel' to change the Base Curve (BC) parameter.");
				   bc_checked = true;
				
			   };
		   };	  
		};

		
		
		
		if (retvalue == true) {
			//make sure they've added some boxes..
			
			if (orderedboxes == 0) {
				alert("Please select a quantity of lenses to add to your order.");
				form.R_Quantity.focus();
				retvalue = false;
			};
		};
	}; //rdel and ldel
			
	return retvalue;
};

function checkParam(fieldvalue){
 var inputstr= fieldvalue;    
 // our Regular Expression - tests to see if parameters are correct format (eg. signed floats) allows zero or empty value
 var regex = new RegExp(/^(( *[+-]?\d{0,3}(\.\d{1,2})? *)|( *[+-]?(\d{0,3}\.)?\d{1,2} *)| *)$/);
    
  // do the comparison, if we have a match 
	if (!(regex.test(inputstr))) { 
		alert("The prescription parameter you entered \"" + inputstr + "\" is not a valid format. Prescription parameters must be formatted as numbers, like \"1.00\".\n\n If your prescription has other numbers and/or notes, you may enter those extra parameters in the \"Special Instructions\" box at checkout.\n\nPlease consult our Prescription Help Section and re-enter the parameter. \nIf you still experience difficulty, contact our friendly staff and we will be happy to help you." ); 
		inputstr = "";
	}
	return inputstr;
}

function checkParamBC(fieldvalue){
 var inputstr= fieldvalue;    
 // our Regular Expression - tests to see if parameters are correct format (eg. signed floats) allows zero or empty value
 var regex = new RegExp(/^(( *[+-]?\d{0,3}(\.\d{1,2})? *)|( *[+-]?(\d{0,3}\.)?\d{1,2} *)| *)$/);
    
  // do the comparison, if we have a match 
	if (!(regex.test(inputstr))) { 
		alert("The prescription parameter you entered \"" + inputstr + "\" is not a valid format. Prescription parameters must be formatted as numbers, like \"1.00\".\n\n If your prescription has other numbers and/or notes, you may enter those extra parameters in the \"Special Instructions\" box at checkout.\n\nPlease consult our Prescription Help Section and re-enter the parameter. \nIf you still experience difficulty, contact our friendly staff and we will be happy to help you." ); 
		inputstr = "";
	}
	else
	{
		//if(fieldvalue >= 5 && fieldvalue <= 10 && fieldvalue  >= 36.50 && fieldvalue <= 50)
		if(fieldvalue < 5 || (fieldvalue > 10 && fieldvalue < 36.50) || fieldvalue > 50)
		{
			alert("The BC parameter you entered \"" + inputstr + "\" is not within the valid range of 5 - 10 or 36.5 - 50.\r\n\r\n BC parameters outside of these ranges will appear as blank in the shopping cart. After you complete your order we will confirm your prescription with your doctor.");
		}
	}
	return inputstr;
}







function getTargetPos(targetname, xoff, yoff, moveDiv) {
	//alert("xoff:" + xoff);
	//alert("yoff:" + yoff);
	var targetobj = document.getElementById(targetname);
	var targetDiv = document.getElementById? document.getElementById(moveDiv) : getRefToDiv(moveDiv);
	//alert("Target Object:" + targetobj);
    //xpos = getposOffset(targetobj, "left");
	//ypos = getposOffset(targetobj, "top");
	//alert(getposOffset(targetobj, "top") - 18);
	alert(getposOffset(targetobj, "top"));
	targetDiv.x = getposOffset(targetobj, "left") - xoff;
	targetDiv.y = getposOffset(targetobj, "top") - yoff;
	//alert(targetDiv.x);
	//alert(targetDiv.y);
	targetDiv.style.left = targetDiv.x; //- clearbrowseredge(mylayerobj, targetobj, "rightedge") + "px"
	targetDiv.style.top = targetDiv.y; //- clearbrowseredge(mylayerobj, targetobj, "bottomedge") + targetobj.offsetHeight + "px"
	
	
	
	//xoff = getposOffset(targetobj, "left")
	//yoff = getposOffset(targetobj, "top"); //+ yoffset;
		
}

function getposOffset(what, offsettype){
	var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
	var parentEl=what.offsetParent;
	while (parentEl!=null){
		totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
		parentEl=parentEl.offsetParent;
	}
	return totaloffset;
}

function getRefToDiv(divID,oDoc) {
  if( !oDoc ) { oDoc = document; }
  if( document.layers ) {
      if( oDoc.layers[divID] ) { return oDoc.layers[divID]; } else {
          //repeatedly run through all child layers
          for( var x = 0, y; !y && x < oDoc.layers.length; x++ ) {
              //on success, return that layer, else return nothing
              y = getRefToDiv(divID,oDoc.layers[x].document); }
          return y; } }
  if( document.getElementById ) {
      return document.getElementById(divID); }
  if( document.all ) {
      return document.all[divID]; }
  return false;
}

function showpos(refPixel,xoff,yoff,moveDiv) {
//alert(refPixel);
//alert(moveDiv);
//var xoff = 0;
//var yoff = 0;
getTargetPos(refPixel, xoff, yoff, moveDiv);
//alert("X Offset: " + xoff);
//alert("Y Offset: " + yoff);
};

function setPos(refPixel,xoff,yoff) {
	var tx, ty
	var targetobj = document.getElementById(refPixel);
	tx = getposOffset(targetobj, "left");
	ty = getposOffset(targetobj, "top");
	//alert(Math.abs((ty + 3)- yoff));
	
	if (Math.abs((ty + 3)- yoff) > 3) {
		var targetDiv = document.getElementById? document.getElementById('mainBody') : getRefToDiv('mainBody');
		
		targetDiv.y = ty;
		targetDiv.x = tx;
	
		targetDiv.style.top = ty + 3;
		
	};
	

};

function RateReview(LensTypeID, ReviewID, Rating) {
	//alert("/displaylens.asp?LensID=" + LensTypeID + "&ReviewID=" + ReviewID + "&RR=" + Rating);
	window.location = "/displaylens.asp?LensID=" + LensTypeID + "&ReviewID=" + ReviewID + "&RR=" + Rating;
};

function AccessoryDetailPop(ProductID) {
tmp = window.open('/product_summary.asp?ProductID=' + ProductID,'','width=400,height=600,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,copyhistory=no,resizable=yes');
}


function countTabs() {
	window['totalTabs'] = document.getElementById('tabs').getElementsByTagName('a');
}

function showTab(tabId) {
	for (i=0; i <window['totalTabs'].length; i++){
		if (window['totalTabs'][i].id == tabId){
			document.getElementById(window['totalTabs'][i].id+'Info').style.display = 'block';
			document.getElementById(window['totalTabs'][i].id).className = 'showing';
		} else {
			document.getElementById(window['totalTabs'][i].id+'Info').style.display = 'none';
			document.getElementById(window['totalTabs'][i].id).className = '';
		}
	}
}

