  var tableElementName = "tableElement";
  var rowElementName = "rowElement";
   var c = 0;
  function addRow()
  {
	/*searchObj = window.location.search;
	if(searchObj!=null && searchObj!=undefined)
	{
		if(searchObj.indexOf('balanceCount') != -1)
		{
			BALANCE_LIMIT = searchObj.substring(searchObj.indexOf('balanceCount')+13);
			MAX_LIMIT_ALLOWED = 'false';
		}
	}*/
	if(MAX_LIMIT_ALLOWED == 'true' || BALANCE_LIMIT > 1)
	{
  		if(document.getElementById(tableElementName) != null && document.getElementById(rowElementName) != null)
  		{
			var rowNodeClone = document.getElementById(rowElementName).cloneNode(true);
			var tableNode 	= document.getElementById(tableElementName).getElementsByTagName("TBODY").item(0);
			tableNode.appendChild(rowNodeClone);
			BALANCE_LIMIT = BALANCE_LIMIT-1;
		}
	}
	else
	{
		alert('Sorry, You have already reached the limit of max entries for the day.');		
		document.getElementById("SAVCON").style.display='none';
		//document.getElementById("ADDROW").style.display='none';
	}
  }
  function deleteRow()
  {
  	if(document.getElementById(tableElementName) != null)
  	{
		tableNode 	= document.getElementById(tableElementName).getElementsByTagName("TBODY").item(0);
	  	if(tableNode.rows.length > 1)
		{
			tableNode.deleteRow(tableNode.rowIndex);
			BALANCE_LIMIT = BALANCE_LIMIT+1;
			if(BALANCE_LIMIT > 1)
			{
				document.getElementById("SAVCON").style.display='block';
				//document.getElementById("ADDROW").style.display='block';
			}
		}
	}
  }
  function parseURL()
  {
	// To make the theValue hidden as 0 in Add Row Option in Usage Entry
	if(document.getElementById('theValue') != null && document.getElementById('theValue') != undefined)
		document.getElementById('theValue').value=0;

	// For parsing the URL
	searchObj = window.location.search;
	if(searchObj!=null && searchObj!=undefined)
	{
		if(searchObj.indexOf('balanceCount') != -1)
		{
			BALANCE_LIMIT = searchObj.substring(searchObj.indexOf('balanceCount')+13);
			MAX_LIMIT_ALLOWED = 'false';
			if(BALANCE_LIMIT <= 1)
			{
				document.getElementById("SAVCON").style.display='none';
				//document.getElementById("ADDROW").style.display='none';
			}
		}
	}
  }

  function callImageCaptcha(frm)
  {
  	
	 c++;
   	 frm.captchaImg.src = renderImageURL + "&cid=" + c;
	 frm.jcaptcha_response.value="";
  }
  
   function multipleEntryReg(form,multiEntries,butType,captchaAvailable) 
	{
		var urlMultiple;
		multiEntriesArr = multiEntries.split(",");
		var multiEntryFieldcheck = "false";
		//processOpt = butOpt;
		if(multiEntries != '')
		{
			for(multiEntryCnt = 0; multiEntryCnt < multiEntriesArr.length; multiEntryCnt++)
			{
				multiEntry = multiEntriesArr[multiEntryCnt];
				mutiEntryVal = eval('form.'+multiEntry);
				if(mutiEntryVal.value != '') // Atleast one value has value
				{
					multiEntryFieldcheck = "true";
					break;
				}
			}
		}
		if(butType == 'SC')
		{
			if(multiEntryFieldcheck == 'true')
			{
				urlMultiple = "regandcontinue.do";
			}
			else
			{
				urlMultiple = "registerandcont.do";
			}
		}
		else
		{
			if(multiEntryFieldcheck == 'true')
			{
				urlMultiple = "multiple.do";
			}
			else
			{
				urlMultiple = "register.do";
			}
		}
		if(captchaAvailable == 'true')
		{
			submitPage(urlMultiple, form, butType);
		}
		else
		{
			validatePage(urlMultiple,form, butType);
		}
    }

	function singleEntryReg(form,captchaAvailable) 
	{
		var urlSingle = 'register.do';
		if(captchaAvailable == 'false')
		{
		//alert("gets into validate page");
	        validatePage(urlSingle,form);
		}
		else
		{
		 
	        submitPage(urlSingle,form);
		}
    }

	function openWindow(url, name) {
		//alert("URL" + url);
		window.open(url, name); 
	}

// function for add the row
	function addEvent(frm,formElements)
	{
		if(MAX_LIMIT_ALLOWED == 'true' || BALANCE_LIMIT > 1)
		{
			if(document.getElementById('myDiv') != null && document.getElementById('toAdd') != null && document.getElementById('theValue') != null)
			{
				var rowDiv = document.getElementById('myDiv');
				var toAd = document.getElementById('toAdd');
				var hidValue = document.getElementById('theValue');
				var num = (document.getElementById("theValue").value -1)+ 2;
				hidValue.value = num;
				var divIdName = "my"+num+"Div";
				var newdiv = document.createElement('div');
				newdiv.setAttribute("id",divIdName);
				newdiv.innerHTML = "<div>&nbsp;"+toAd.innerHTML+"<input type=button value='Remove' onclick=\"removeEvent(\'"+divIdName+"\')\"></div>";
				rowDiv.appendChild(newdiv);
				formElementsArr = formElements.split(',');
				for(paramCount=0;paramCount<formElementsArr.length;paramCount++)
				{
					var test = eval('frm.'+formElementsArr[paramCount]);
					test(num).value = '';
				}
				BALANCE_LIMIT = BALANCE_LIMIT-1;
			}
		}
		else
		{
			alert('Sorry, You have already reached the limit of max entries for the day.');		
			document.getElementById("SAVCON").style.display='none';
			//document.getElementById("ADDROW").style.display='none';
		}
	}
// function for delete the row
	function removeEvent(divNum)
	{
		var num = document.getElementById("theValue").value -1;
		document.getElementById('theValue').value = num;
		var rowDiv = document.getElementById('myDiv');
		var olddiv = document.getElementById(divNum);
		rowDiv.removeChild(olddiv);
	}

    function getRequestData(url, form, butOpt, dateObj) 
	{
        var getParams = window.location.search;
        if(getParams!="" && getParams!=null && getParams.length>0) 
		{
	        var queryStr = getParams.substr(1);
	        var params = queryStr.split("&");
	        if(params!=null && params!="" && params.length>0) 
			{
	            for(var index=0;index<params.length;index++) 
				{
	                var param = params[index];
	                var nameValue = param.split("=");
	                var paramName = nameValue[0];
	                if(paramName=="promoId") 
					{
	                    var paramValue = nameValue[1];
						form.promoId.value = paramValue;
	                } 
					else if(paramName=="loginAuthCode") 
					{
	                    var paramValue = nameValue[1];
				        form.loginAuthCode.value = paramValue;			
	                }
	            }//end for loop.
            }//end if cond.
        }
		if(dateObj != null && dateObj != undefined)
		{
			dateObj = form.elements[dateObj];
			if(dateObj.length == undefined)
			{			
				if(form.day.value != "" && form.month.value != '' && form.year.value != '')
					form.tranDate.value = form.month.value+"/"+form.day.value+"/"+form.year.value;
				else
					form.tranDate.value = '';
			}
			else if(dateObj.length > 1)
			{		
				dayObj		= form.elements['day'];
				monthObj	= form.elements['month'];
				yearObj		= form.elements['year'];
				for(dayCnt = 0; dayCnt < dateObj.length; dayCnt++)
				{
					if((dayObj[dayCnt].value != '' && dayObj[dayCnt].value != '0')  && (monthObj[dayCnt].value != '' && monthObj[dayCnt].value != '0') && (yearObj[dayCnt].value != '' && yearObj[dayCnt].value != '0'))
						dateObj[dayCnt].value = monthObj[dayCnt].value+'/'+dayObj[dayCnt].value+'/'+yearObj[dayCnt].value
					else
						dateObj[dayCnt].value = '';				
				}
				
			}
		}
        validatePage(url, form, butOpt);
    }

function validate(form)
{
var mobile = form.mobPhoneNum.value;
/*document.getElementById("titleId").style.color = "#000000";
document.getElementById("firstNameId").style.color = "#000000";
document.getElementById("lastNameId").style.color = "#000000";
document.getElementById("streetAddr1Id").style.color = "#000000";
document.getElementById("streetAddr2Id").style.color = "#000000";
document.getElementById("streetAddr3Id").style.color = "#000000";
document.getElementById("cityId").style.color = "#000000";
document.getElementById("postalCodeId").style.color = "#000000";
document.getElementById("homePhoneNumId").style.color = "#000000";
document.getElementById("emailAddrId").style.color = "#000000";
document.getElementById("bankNameId").style.color = "#000000";
document.getElementById("binNumId").style.color = "#000000";
document.getElementById("trmsCndsId").style.color = "#000000";
document.getElementById("prvcyPlcyId").style.color = "#000000";*/
var postal=form.postalCode.value;

 if(postal!="" || postal!=null || postal!=undefined)
{

form.postalCode.value=postal.toUpperCase();
}
if(form.viaSms.checked == true)
{

if(mobile=="" || mobile==null || mobile==undefined)  {
				  document.getElementById("mobPhoneNumId").style.color = "#990000";
			document.getElementById("redalert").style.visibility="visible";	  
document.getElementById("message").innerHTML = "<FONT color='#990000' size='1' ><li>Please enter mobile phone number</li></FONT>"
document.getElementById("HeaderMessage").innerHTML = "<FONT color='#990000' style='font-size:9px;'>Unfortunately we can't process the data that you've entered. Please amend the parts of the form highlighted below.</font><br>";

}
else {
				  document.getElementById("mobPhoneNumId").style.color = "#000000";
document.getElementById("redalert").style.visibility="hidden";
				document.getElementById("message").innerHTML = "";
document.getElementById("HeaderMessage").innerHTML = "";
singleEntryReg(document.frm,'false');

}
}
else {
				 document.getElementById("mobPhoneNumId").style.color = "#000000";
document.getElementById("redalert").style.visibility="hidden";
				document.getElementById("message").innerHTML = "";
document.getElementById("HeaderMessage").innerHTML = "";
singleEntryReg(document.frm,'false');
}

}



function validateTAF(form){
		
document.getElementById("message").innerHTML = "";

		var yourname = form.yourname.value;
		var youremail = form.youremail.value;
		var friendname1 = form.friendname1.value;
		var friendemail1 = form.friendemail1.value;
		var friendname2 = form.friendname2.value;
		var friendemail2 = form.friendemail2.value;
		var friendname3 = form.friendname3.value;
		var friendemail3 = form.friendemail3.value;
		var v_flag = false;
var errormsg="";

		if(!yourname){

			document.getElementById('yournameId').style.color='#FFCC00';
			v_flag=true;
errormsg='Please enter your name<br>'+errormsg;
		} 
		else  {
				if(!alphanumeric(yourname)) {
					v_flag=true;
errormsg='Please enter your name<br>'+errormsg;
					document.getElementById('yournameId').style.color='#FFCC00';
				} 
				else {
					document.getElementById('yournameId').style.color='white';
				}

		}

		if(!friendname1){

		
			document.getElementById('friendname1Id').style.color='#FFCC00';
			v_flag=true;

errormsg='Please enter your friends name<br>'+errormsg;
		} 
		else  {
				if(!alphanumeric(friendname1)) {
					v_flag=true;
errormsg='Please enter your friends name<br>'+errormsg;
				document.getElementById('friendname1Id').style.color='#FFCC00';
	
				} 
				else {
					document.getElementById('friendname1Id').style.color='white';
				}

		}

		if(!friendemail1){


			document.getElementById('friendemail1Id').style.color='#FFCC00';
			v_flag=true;
var email_flag=true;

		} 
		else  {
				if(!emailcheck(friendemail1)) {
					v_flag=true;
					document.getElementById('friendemail1Id').style.color='#FFCC00';
				} 
				else {
					document.getElementById('friendemail1Id').style.color='white';
				}

		}

		if(!youremail){


			document.getElementById('youremailId').style.color='#FFCC00';

			v_flag=true;
var email_flag=true;
		} 
		else  {
				if(!emailcheck(youremail)) {

					v_flag=true;
var email_flag=true;
					document.getElementById('youremailId').style.color='#FFCC00';
				} 
				else {
					document.getElementById('youremailId').style.color='white';
				}

		}
if((friendname2&&friendemail2)){
		
				if(!alphanumeric(friendname2)) {
					v_flag=true;
errormsg='Please enter your friends name<br>'+errormsg;
					document.getElementById('friendname2Id').style.color='#FFCC00';
				} 
				else {
					document.getElementById('friendname2Id').style.color='white';
				}
				if(friendemail2!=""){
				if(!emailcheck(friendemail2)) {
					v_flag=true;
var email_flag=true;
					document.getElementById('friendemail2Id').style.color='#FFCC00';
				} 
				else {
					document.getElementById('friendemail2Id').style.color='white';
				}
				}
}

				if(!alphanumeric(friendname3)) {
					v_flag=true;
errormsg='Please enter your friends name<br>'+errormsg;
					document.getElementById('friendname3Id').style.color='#FFCC00';
				} 
				else {
					document.getElementById('friendname3Id').style.color='white';
				}
				
				if(friendemail3!=""){
				if(!emailcheck(friendemail3)) {
					v_flag=true;
var email_flag=true;
					document.getElementById('friendemail3Id').style.color='#FFCC00';
				} 
				else {
					document.getElementById('friendemail3Id').style.color='white';
				}
				}

if(email_flag=true)
{
errormsg='Please enter a valid email addrress<br>'+errormsg;
}

		if(v_flag == true){
  		document.getElementById("message").innerHTML = "<div class='errormsg'><p>"+errormsg+"</p></div>";

		document.getElementById("HeaderMessage").innerHTML = "";
		}

		else{	

			
			sendMails(form);

		}

}


function alphanumeric(name) {
	var re=/^[a-zA-Z0-9. ]*$/;
	if(name.match(re))
	{
		return true;
	}
	else {return false;}
}

function emailcheck(str) {
	var re=/^[a-zA-Z0-9-`.+_%]+[\\@](?:[a-zA-Z0-9`-]+[\\.])+[a-zA-Z0-9]+$/;
	if(str.match(re))
	{
		return true;
	}
	else return false;
}


function sendMails(frm)
	{
			
		

	
	document.frmTAF.actual_sender_name.value = document.frmTAF.yourname.value;

	document.frmTAF.actual_sender_email.value = document.frmTAF.youremail.value;



	document.frmTAF.recipient_name.value = document.frmTAF.friendname1.value;	

	document.frmTAF.recipient_email.value = document.frmTAF.friendemail1.value;
	document.frmTAF.recipient_name1.value = document.frmTAF.friendname2.value;		
	document.frmTAF.recipient_email1.value = document.frmTAF.friendemail2.value;
	document.frmTAF.recipient_name2.value = document.frmTAF.friendname3.value;		
	document.frmTAF.recipient_email2.value = document.frmTAF.friendemail3.value;

if(document.frmTAF.recipient_name1.value!="")
{

document.frmTAF.maxRecipients.value = 2;
} 
else if(document.frmTAF.recipient_name2.value!="")
{
document.frmTAF.maxRecipients.value = 3;
}
else{

document.frmTAF.maxRecipients.value = 1;
}




	url="/EmailApp/sendEmail.do";
		var urlContent = buildMailRequest(frm);
		//alert(url+"?"+urlContent);


		
		//document.location.href = url+"?"+urlContent;
		if (window.XMLHttpRequest) 
		{
			req = new XMLHttpRequest();
		}
		else if (window.ActiveXObject) 
		{ // IE
			req = new ActiveXObject("Microsoft.XMLHTTP");
		}
		
		if(req) 
		{		  
			try
			{				
				req.onreadystatechange = processStateChangeMail;
				req.open("POST", url, true);				
				req.setRequestHeader('Content-Type','application/x-www-form-urlencoded;charset=ISO-8859-1');
				req.send(urlContent);
				if(req.onreadystatechange == null)  {
					processStateChangeMail();
				}
				
			}
		catch(exception)
		{			
		}
	  }
	}
	function buildMailRequest(frm)
	{
		controlParams = "";	    
		for(paramCount=0;paramCount<frm.elements.length;paramCount++)
		{
			controlParams += frm.elements[paramCount].name+"=";
			controlParams += encodeURIComponent(frm.elements[paramCount].value)+"&";
		}
		if(controlParams != "")
			controlParams = controlParams.substring(0,controlParams.lastIndexOf("&"));	    	
		return controlParams;      	
	}
	function processStateChangeMail() 
	{//alert("ready state" + req.readyState);
		if (req.readyState == 4) 
		{	//alert("req status" + req.status);	
			if (req.status == 200) 
			{
				mailData = req.responseText;
				//alert("maildata--->" +mailData);
				if (mailData!= null && mailData.indexOf('success') != -1)
				{
					document.location.href = "/uk/personal/en/specialoffers/xmaswishlist/tell-a-friend-thanks.html";
				}
				else{
					document.getElementById("message").innerHTML = "";
		document.getElementById("HeaderMessage").innerHTML = "<FONT color='#FFCC00' style='font-size:12px;'>Something went wrong. Check that you completed all required details and try again.</FONT><br>";
				}
				
			}
		}
	}
function previewEmailSpecific(){ // inserts user & friend name in email preview

  if(document.getElementById("friendname1").value.length > 0){ // make sure a name was entered
  
      // change copy to match form entry
	  document.getElementById("friend_name").innerHTML = document.getElementById("friendname1").value;
	  
	
	  
  }
  
   if(document.getElementById("yourname").value.length > 0){ // make sure a name was entered
   
      // change copy to match form entry
      document.getElementById("your_name").innerHTML = document.getElementById("yourname").value;
	  	  	  
	  // change style class	
	  document.getElementById("your_name").className = "name"; 
  }

}
function sendMailForRegistration(frm)
	{
		//url="/EmailApp/sendEmail.do";
		//url = "http://www.dev.mastercard.com/EmailApp/sendEmail.do";
		var urlContent = buildMailRequest(frm);
		
		if (window.XMLHttpRequest) 
		{
			req = new XMLHttpRequest();
		}
		else if (window.ActiveXObject) 
		{ // IE
			req = new ActiveXObject("Microsoft.XMLHTTP");
		}
		
		if(req) 
		{		  
			try
			{			
				req.onreadystatechange = processStateChangeMailReg;
				req.open("POST", url, true);				
				req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
				req.send(urlContent);
				if(req.onreadystatechange == null)  {
					processStateChangeMailReg();
				}
				
			}
		catch(exception)
		{			
		}
	  }
	}
function processStateChangeMailReg() 
	{
		if (req.readyState == 4) 
		{	
			if (req.status == 200) 
			{
				mailData = req.responseText;
				if (mailData!= null && mailData.indexOf('success') != -1)
				{
					//document.location.href = "thankyou.html";
				}
			}
		}
	}
function previewEmailSpecific(){ // inserts user & friend name in email preview

  if(document.getElementById("friendname1").value.length > 0){ // make sure a name was entered
  
      // change copy to match form entry
	  document.getElementById("friend_name").innerHTML = document.getElementById("friendname1").value;
	  
	
	  
  }
  
   if(document.getElementById("yourname").value.length > 0){ // make sure a name was entered
   
      // change copy to match form entry
      document.getElementById("your_name").innerHTML = document.getElementById("yourname").value;
	  	  	  
	  // change style class	
	  document.getElementById("your_name").className = "name"; 
  }

}