if(document.all == null)
{
	if(HTMLElement)
	{
		HTMLElement.prototype.__defineSetter__("innerText",function(txt)
		{
			var rng = document.createRange()
			rng.selectNodeContents(this)
			rng.deleteContents()
			var newText = document.createTextNode(txt)
			this.appendChild(newText)
			return txt
		})
	}
}
function showHide(theid)
{
	var button	= document.getElementById("button"+theid);
	var answer	= document.getElementById("row"+theid);
	var image	= document.getElementById("image"+theid);
	//alert(answer.style.display);
	if(answer.style.display == 'none')
	{
		answer.style.display = '';
		image.src = "../images/minus.gif";
	}
	else if(answer.style.display == '')
	{
		answer.style.display = 'none';
		image.src = "../images/plus.gif";
	}
		
}
function ePayment(ctrl)
{

	var type = document.getElementById(ctrl);
	document.getElementById('btnPay').disabled = true;
	document.getElementById('btnCancel').disabled = true;
	document.getElementById('tdAnim').style.display = '';
	
	if(navigator.userAgent.indexOf("Opera") > -1)
	{
		alert("Payment not enabled for this browser. \r\n\r\nPlease browse with Microsoft Internet Explorer or Mozila Firefox.");
		doCancel();
	}
	if(type.value == "0" || type.value == "2")
	{
		document.getElementById('webpayReturn').value = "doAction";
		doPost();
		return false;
	}
	else if(type.value == "1")
	{
		doWebPay();
	}
}
function showPwd(ctrl)
{
	
	if(ctrl.value == "1")
	{
		tdCashFreePassword.style.display = 'none';
	}
	else
	{
		tdCashFreePassword.style.display = '';
	}
}

function doWebPay()
{

	if(navigator.userAgent.indexOf("Opera") > -1)
	{
		alert("Payment not enabled for this browser. \r\n\r\nPlease browse with Microsoft Internet Explorer or Mozila Firefox.");
		doCancel();
	}
	var postNow = false;

	
	var fullUrl = buildUrl();
	
	if(window.showModalDialog){
	
	showWindowIE(fullUrl);
	postNow = true;
	}
	else{
	showWindow(fullUrl);
	}
	document.getElementById('tdAnim').style.display = '';

	return postNow;
}



var winModalWindow
function IgnoreEvents(e)
{
	return false
}
 
function showWindow(url)
{
	if(!document.all)
	{
		window.top.captureEvents (Event.CLICK|Event.FOCUS)
		window.top.onclick = IgnoreEvents
		window.top.onfocus = HandleFocus 
	}
	else
	{
		window.top.attachEvent("onclick",IgnoreEvents);
		window.top.attachEvent("onfocus",HandleFocus);
	}
	var left = (screen.availWidth / 2) - 175;
	var top = (screen.availHeight  / 2) - 235;
	winModalWindow = window.open (url,"ModalChild","dependent=yes;scrollbars=no;address=no;status=0,width=350,height=620, left="+ left +",top=" + top)
	winModalWindow.focus()
	
}


function HandleFocus()
{
	if (winModalWindow)
	{
		
			if (winModalWindow.closed)
			{
				if(!document.all)
				{
					window.top.releaseEvents (Event.CLICK|Event.FOCUS)
				}
				else
				{
					window.top.detachEvent("onfocus",HandleFocus);
					window.top.detachEvent("onclick",IgnoreEvents);
				}
				document.getElementById('webpayReturn').value = "doAction";
				doPost();
			}
			winModalWindow.focus();
		
	}
	return false;
}

function showWindowIE(fullUrl)
{

	var left			= (screen.availWidth / 2) - 175;
	var top				= (screen.availHeight  / 2) - 235;
	var dialogParams	= "dialogHeight:620px; dialogWidth:350px; center:yes; status:no; scroll:no";
	document.getElementById('tdAnim').style.display = '';
	window.showModalDialog(fullUrl,"",dialogParams);
	document.getElementById('webpayReturn').value = "doAction";
	doPost();
	return true;
	
}






/*
function setAmountQty(qty,amount,pintype)
{
	var ctrl_amount = document.getElementById(amount);
	var ctrl_pintype = document.getElementById(pintype);
	
	var p_type = selectAmount(ctrl_pintype.value);
	if(p_type != null)
	{
	var amt = (IsDistributor  && parseInt(qty) >= parseInt(p_type[3])) ? p_type[2] : p_type[1];
	var iqty = parseInt(qty);
	if(!isNaN(iqty)){
	ctrl_amount.innerText ="=N= "+ formatOutput((iqty * parseFloat(amt)));
	}
	else{
	ctrl_amount.innerText = "=N= 0.00";
	}
	}
	else
	{
	ctrl_amount.innerText = "=N= 0.00";
	}
	
	
}

function setAmount(id,single,bulk,info,distribute,amount,qty)
{
	var ctrl_single	= document.getElementById(single);
	var ctrl_bulk	= document.getElementById(bulk);
	var ctrl_info	= document.getElementById(info);
	var ctrl_distribute	= document.getElementById(distribute);
	var ctrl_amount = document.getElementById(amount);
	var ctrl_qty = document.getElementById(qty);
	
	var p_type		= selectAmount(id);
	if(p_type != null){
	ctrl_single.style.display = '';
	ctrl_bulk.style.display = '';
	ctrl_distribute.style.display = '';
	
	ctrl_single.innerText = p_type[1];
	ctrl_bulk.innerText = p_type[2];
	ctrl_info.style.display = 'none';
	var quantityVal = parseInt( ctrl_qty.value);
	var amt = IsDistributor  && (quantityVal >= p_type[3]) ? p_type[2] : p_type[1];
	ctrl_amount.innerText = "=N= "+formatOutput((parseInt(ctrl_qty.value) * parseFloat(amt)));
	
	}
	else
	{
	ctrl_single.style.display = 'none';
	ctrl_bulk.style.display = 'none';
	ctrl_distribute.style.display = 'none';
	ctrl_info.style.display = '';
	ctrl_amount.innerText = "=N= 0.00";
	
	}
	
}

*/
function setNewAmount(ddlPinType,single,bulk,info,distribute,amount,qty,viewDiscount)
{
		
	numbersOnly(qty);
	
	var id = document.getElementById(ddlPinType).value;
	var ctrl_single	= document.getElementById(single);
	//var ctrl_bulk	= document.getElementById(bulk);
	//var ctrl_info	= document.getElementById(info);
	//var ctrl_distribute	= document.getElementById(distribute);
	var ctrl_amount = document.getElementById(amount);
	var ctrl_qty = document.getElementById(qty);
	//var ctrl_viewDiscount = document.getElementById(viewDiscount);
	
	var p_discount		= getDiscounts(id);
	var p_type		= selectAmount(id);
	
		
	if(p_discount != null && p_type != null)
	{
		ctrl_single.style.display = '';
		////ctrl_bulk.style.display = '';
		//ctrl_distribute.style.display = '';
		
		//ctrl_info.style.display = 'none';
		var quantityVal = parseInt(ctrl_qty.value);
		//ctrl_viewDiscount.style.display = '';
		if(IsDistributor)
		{
			
			
			var ovveride;
			var totalAmount = parseInt(ctrl_qty.value) * parseInt(p_type[2]);
			ctrl_amount.innerText = "=N= "+formatOutput(totalAmount);
			ctrl_single.innerText = "=N= " +formatOutput(parseInt(p_type[2]));
			for(var i = 1; i < p_discount.length; i++)
			{
				if((parseFloat(totalAmount) >= parseFloat(p_discount[i].MinVal) && parseFloat(totalAmount) <= parseFloat(p_discount[i].MaxVal)) || (parseFloat(totalAmount) >= parseFloat(p_discount[i].MinVal) && p_discount[i].MaxVal == "-1"))
				{
					////totalAmount = parseInt(ctrl_qty.value) * parseInt(p_type[1]);
					ctrl_amount.innerText = "=N= " + formatOutput(p_discount[i].Discount);
					ctrl_single.innerText = "=N= " +formatOutput(p_discount[i].Discount * parseInt(ctrl_qty.value));
				}
			}
		}
		else
		{
			
			ctrl_single.innerText = "=N= " +formatOutput(parseInt(p_type[2]) * parseInt(ctrl_qty.value));
		}
		ctrl_amount.innerText = "=N= "+formatOutput(parseInt(p_type[1]));
		///to set the amount to face value
		//ctrl_amount.innerText = "=N= "+formatOutput(parseInt(ctrl_qty.value) * parseInt(p_type[1]));
	}
	else
	{
		ctrl_single.style.display = 'none';
		//ctrl_viewDiscount.style.display = 'none';
		//ctrl_distribute.style.display = 'none';
		//ctrl_info.style.display = '';
		ctrl_amount.innerText = "=N= 0.00";
	}
	
}
function selectAmount(id)
{
	for(var i = 0; i < arr_p_type.length; i++)
	{
		var p_type = arr_p_type[i];
		if(p_type[0] == id)
		{
			return p_type;
		}
	}
	return null;
}

function isPinAvailable(pinTypeID)
{
	for(var i = 0; i < arr_p_status.length; i++)
	{
		if(arr_p_status[i] == pinTypeID)
		{
			return false;
		}
	}
	return true;
}

function validateRequest(type,qty)
{
	var err = "";
	var ctrl_qty	= document.getElementById(qty);
	var ctrl_type	= document.getElementById(type);
	if(ctrl_type.selectedIndex == 0)
	{
		err += "-- Please select a Type\r\n";
	}
	var n = new Number(ctrl_qty.value);
	
	if(isNaN(n) || (ctrl_qty.value == "") || n == 0)
	{
		err += "-- Please enter a valid quantity";
	}
	if(!isPinAvailable(ctrl_type.options[ctrl_type.selectedIndex].value))
	{
		err = "Sorry, that eVoucher type is currently not in stock. Please try again later.";
	}
	if(err != "")
	{
		alert(err);
		return false;
	}
	else
	{
		return true;
	}
	
}
function numbersOnly(ctrlID)
{
	var ctrl = document.getElementById(ctrlID);
	var str = ctrl.value;
	var val = new Number(str);
	if(isNaN(val))
	{
		ctrl.value = str.substring(0, str.length -1);
	}
}
//function validateBuy4Friend(type,qty, truncateFieldID)
//{
//	var valReq = validateRequest(type, qty);
	//var quantity = document.getElementById(qty).value;
	//if(!valReq)
	//{
	//	return false;
	//}
	//else if(parseInt(quantity) > parseInt(maxPinQtyForSMS))
	//{
	//	document.getElementById(truncateFieldID).value = confirm("Sorry, you can only send 2 pins via SMS.\r\n\r\nClick 'Ok' to send 2 pins via SMS or 'Cancel' to send all the pins via Email.");
	//}
	//return true;
//}
function validateFriendInfo(txtPhone, btnCommand, btnCancel)
{
	var val = true;
	var ctrl_Phone = document.getElementById(txtPhone);
	var btn_Command = document.getElementById(btnCommand);
	var btn_Cancel = document.getElementById(btnCancel);
	
	if(isValidGSMNumber(ctrl_Phone.value) == false)
	{	
		alert("Invalid phone number.");
		ctrl_Phone.focus();
		ctrl_Phone.select();
		val = false;
		return val;
	}
	else
	{
		
		if(btn_Cancel != null)
		{
			btn_Cancel.disabled = true;
		}
		if(btn_Command != null)
		{
			__doPostBack(btn_Command.id,'');
			//btn_Command.disabled = true;
		}
		
	}
	
}

function isValidGSMNumber(number)
{
	var actualNumbers = new Number(number.substring(0, 11));
	if(number == "" || isNaN(actualNumbers) || (number.length < 10 || number.length > 12))
	{
		return false;
	}
	else
	{
		return true;
	}
}

function formatOutput(val)
{
	var nf = new NumberFormat();
	nf.setNumber(val);
	nf.setSeparators(true,nf.COMMA,nf.PERIOD);
	return nf.toFormatted();

}

function getDiscounts(id)
{
	for(var i = 0; i < arr_p_discount.length; i++)
	{
		var p_discount = arr_p_discount[i];
		if(p_discount[0] == id)
		{
			return p_discount;
		}
	}
	return null;
}
function hideDiscounts(tblDiscountDisplay, lblDistribute, lblSingle)
{
	document.getElementById(tblDiscountDisplay).style.display = 'none';
	document.getElementById(lblDistribute).style.display = '';
	document.getElementById(lblSingle).style.display = '';
}

function setDisplayAmount(ddlType, txtQty, tblDiscountDisplay)
{
	var qty = document.getElementById(txtQty).value;
	var pinTypeID = document.getElementById(ddlType).value;
	var discountTableTbody = document.getElementById(tblDiscountDisplay).getElementsByTagName('tbody')[0];
	
	var discounts = getDiscounts(pinTypeID);
	if(discounts != null)
	{
		for(var i = 1; i < discounts.length; i++)
		{
			var tr = buildDiscountElement('tr', 'normalTextDiscount', '');
			var minVal = buildDiscountElement('td', '', 'N'+formatOutput(discounts[i].MinVal));
			var maxVal;
			if(discounts[i].MaxVal == parseInt('-1'))
			{
				maxVal = buildDiscountElement('td', '', '...and above');
			}
			else
			{
				maxVal = buildDiscountElement('td', '', 'N'+formatOutput(discounts[i].MaxVal));
			}
			var discountVal = buildDiscountElement('td', '', 'N'+formatOutput(discounts[i].Discount));
			
			tr.appendChild(minVal);
			tr.appendChild(maxVal);
			tr.appendChild(discountVal);
			tr.setAttribute("align", "right");
			
			discountTableTbody.appendChild(tr);
		}
		if(discounts.length == 1)
		{
			discountTableTbody.innerText = "";
			var tr2 = buildDiscountElement('tr', '','');
			tr2.setAttribute("align", "center");
			tr2.appendChild(buildDiscountElement('td', 'shoppingInfoText', 'No additional bulk discounts.'));
			
			discountTableTbody.appendChild(tr2);
		}
	}
}
function displayDiscounts(ddlType, txtQty, tblDiscountDisplay, lblDistribute, lblSingle)
{
	if(document.getElementById(ddlType).value != '0')
	{
		document.getElementById(lblDistribute).style.display = 'none';
		document.getElementById(lblSingle).style.display = 'none';
		
		var discountTable = document.getElementById(tblDiscountDisplay);
		discountTable.getElementsByTagName('tbody')[0].innerText = "";
		discountTable.getElementsByTagName('tbody')[0].appendChild(buildDiscoutDisplayHeader());
		
		setDisplayAmount(ddlType, txtQty, tblDiscountDisplay);
		
		discountTable.style.display = '';
	}
}
function buildDiscoutDisplayHeader()
{
	var tr = buildDiscountElement('tr', 'itemTitleDiscount', '');
	var minVal = buildDiscountElement('td', '', 'From');
	var maxVal = buildDiscountElement('td', '', ' To');
	var discountVal = buildDiscountElement('td', '', ' Cost');
	
	minVal.setAttribute("align", "center");
	maxVal.setAttribute("align", "center");
	discountVal.setAttribute("align", "center");
	
	tr.appendChild(minVal);
	tr.appendChild(maxVal);
	tr.appendChild(discountVal);
	
	return tr;
}
function buildDiscountElement(type, cssClass, value)
{
	var elem = document.createElement(type);
	
	if(value != "")
	{
		elem.innerText = value;
	}
	
	var classIdentifier = document.all ? "className" : "class";
	if(cssClass != '')
	{
		elem.setAttribute(classIdentifier, cssClass);
	}
	
	return elem;
}

///FOR ADD EDIT PINTYPE

//discountTable is declared on the page

function addDiscountLevel()
{

	var tdChkVal = buildElement('td', '');
	var chkSelect = buildCheckElement();
	tdChkVal.appendChild(chkSelect);

	var tdMinVal = buildElement('td', '');
	var txtMinVal = buildTextBoxElement(false);
	tdMinVal.appendChild(txtMinVal);
	
	var tdMaxVal = buildElement('td', '');
	var txtMaxVal = buildTextBoxElement(true);
	tdMaxVal.appendChild(txtMaxVal);
	
	var tdDiscountVal = buildElement('td', '');
	var txtDiscountVal = buildTextBoxElement(false);
	tdDiscountVal.appendChild(txtDiscountVal);
	
	var tdOverrideVal = buildElement('td', '');
	var rdbOverrideVal = buildRadioElement();
	if(document.all)
	{
		resetRadioButtonChekedState();
	}
	tdOverrideVal.appendChild(rdbOverrideVal);
	
	var tr = buildElement('tr', '', 'gridItem');
	tr.appendChild(tdChkVal);
	tr.appendChild(tdMinVal);
	tr.appendChild(tdMaxVal);
	tr.appendChild(tdDiscountVal);
	tr.appendChild(tdOverrideVal);
	
	resetOtherValuesOnAdd(false);
	
	discountTable.getElementsByTagName('tbody')[0].appendChild(tr);
}

function deleteDiscountLevels()
{
	var rowList = discountTable.getElementsByTagName('tbody')[0].getElementsByTagName('tr');
	var val = "";
	
	for(var i = (rowList.length -1); i > 0; i--)
	{
		var checked = rowList[i].childNodes[0].childNodes[0].checked;
		if(checked)
		{
			discountTable.deleteRow(i);
		}
	}
}

function buildRadioElement()
{
	var radioButton = document.getElementById('rdbNode');
	var newRadioButton = radioButton.cloneNode(false);
	
	newRadioButton.setAttribute("id", "");
	newRadioButton.checked = true;
	newRadioButton.style.display = '';
	return newRadioButton;
}	

function buildCheckElement()
{
	var newCheckBox = document.createElement('input')
	
	newCheckBox.setAttribute("type", "checkbox");
	return newCheckBox;
}	
function buildTextBoxElement(setOverride)
{
	var txtTextBox = document.getElementById('textBox');
	var newTextBox = txtTextBox.cloneNode(false);
	
	newTextBox.setAttribute("id", "");
	newTextBox.style.display = '';
	newTextBox.value = "0.00";
	
	//setting txtMaxVal attributes
	if(setOverride == true)
	{
		newTextBox.setAttribute("value", "...and above");
		newTextBox.setAttribute("disabled", "true");
	}
	
	return newTextBox;
}	

function buildElement(type, cssClass)
{
	var elem = document.createElement(type);
	
	if(cssClass != '')
	{
		elem.setAttribute("className", cssClass);
	}
	
	return elem;
}
function resetOtherValuesOnAdd(clicked)
{
	var rowList = discountTable.getElementsByTagName('tbody')[0].getElementsByTagName('tr');
	var txtMaxVal;
	var rdb;
	
	for(var i=1; i < (rowList.length); i++)
	{
		txtMaxVal = rowList[i].childNodes[2].childNodes[0];
		rdb = rowList[i].childNodes[4].childNodes[0];
		
		if(txtMaxVal.value == "...and above")
		{
			txtMaxVal.value = "0.00";
			txtMaxVal.disabled = false;
		}
		if(clicked == true)
		{
			if(rdb.checked == true)
			{
				txtMaxVal.value = "...and above";
				txtMaxVal.disabled = true;
			}
		}
	}
}

function resetRadioButtonChekedState()
{
	var rowList = discountTable.getElementsByTagName('tbody')[0].getElementsByTagName('tr');
	var rdb;
	
	for(var i=1; i < (rowList.length); i++)
	{
		rdb = rowList[i].lastChild.firstChild;
		rdb.checked = false;
	}
}

function checkValidDecimal(cNbr)
{
	var nbr = new Number(cNbr.value);
	if(isNaN(nbr))
	{	
		alert("Value must be in format x.xx \r\n");
		cNbr.focus();
		cNbr.select();
	}
}

function getDiscountValues()
{debugger
	var rowList = discountTable.getElementsByTagName('tbody')[0].getElementsByTagName('tr');
	var val = "";
	
	for(var i=1; i < (rowList.length); i++)
	{
		val += rowList[i].childNodes[1].childNodes[0].value + ",";
		val += rowList[i].childNodes[2].childNodes[0].value + ",";
		val += rowList[i].childNodes[3].childNodes[0].value + ",";
	}
	
	document.getElementById('_DiscountValues').value = val;
	
	return true;
}

function validateEmail(txtEmail)
{
	var ctrl_Email = document.getElementById(txtEmail);
	if(isValidEmailAddress(ctrl_Email.value) == false)
	{	
		alert("Invalid email address.");
		ctrl_Email.focus();
		ctrl_Email.select();
		return false;
	}
	else
	{
		return true;
	}
}

/*
   This function returns true if the email address entered
   has the correct format x@y.z.... else it returns false.
   It's not perfect but it covers many cases.  
*/
function isValidEmailAddress(emailAddress)
{

   /* Check for empty address or invalid characters */

   if (emailAddress == "" || hasInvalidChar(emailAddress))
   {
      return false;
   }

   /* check for presence of the @ character */

   var atPos = emailAddress.indexOf("@", 1)
   if (atPos == -1)
   {
      return false;
   }
   
   /* Check that there are no more @ characters */

   if (emailAddress.indexOf("@", atPos + 1) > -1)
   {
      return false;
   }

   /* Check for the presence of a dot somewhere after @ */

   var dotPos = emailAddress.indexOf(".", atPos + 1);
   if (dotPos == -1)
   {
      return false;
   }

   /* Check for presence of two or more characters after last dot */

   var lastDotPos = emailAddress.lastIndexOf(".");
   if (lastDotPos + 3 >  emailAddress.length)
   {
      return false;
   }
   return true;
}

/*
   Return true if the given email address has an invalid character
   in it, else return false.
*/
function hasInvalidChar(emailAddress)
{
   var invalidChars = "/;:,"; // this list is not complete

   for (var k = 0; k < invalidChars.length; k++)
   {
      var ch = invalidChars.charAt(k);
      if (emailAddress.indexOf(ch) > -1)
      {
         return true;
      }
   }
   return false;
}