var checkListSize;
var screenName;

function GetXmlHttpObject(){
	var xmlHttp=null;
	try{
  	// Firefox, Opera 8.0+, Safari
  	xmlHttp=new XMLHttpRequest();
  	}
	catch (e){
  	// Internet Explorer
  		try{
    		xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    	}
  		catch (e){
    		xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    	}
  	}
	return xmlHttp;
}

/**
Onload function which decides the div to be displayed
*/
function checkDevices(){

	var status = document.deviceCheck.status.value;
	//alert("Status Val = " + status);
	
	screenName = document.deviceCheck.screenName.value;
	//alert("Screen Name = " + screenName);
	
	checkListSize = document.deviceCheck.checkSize.value;	
	
	if(status == "noScreenName"){
		document.forms["deviceCheck"].action = '/mobileHome';
		document.forms["deviceCheck"].method = "POST";
		document.forms["deviceCheck"].submit();	
	}else if(status == "signOut"){		
		snsTest();
	}else if(status == "unRegistered"){
					
		var screenName = document.deviceCheck.screenName.value;
		var send = 'screenName='+screenName;		
		var url = '/jsp/halfRegistration.jsp';			
		xmlHttp=GetXmlHttpObject();			
		xmlHttp.open("POST",url,true);
		xmlHttp.setRequestHeader( 'Content-type','application/x-www-form-urlencoded' );
		xmlHttp.onreadystatechange = function(){
			if (xmlHttp.readyState==4){ 
			document.getElementById("displayDiv").innerHTML=xmlHttp.responseText;
			}
		};
		xmlHttp.setRequestHeader( 'Content-length', send.length );
		xmlHttp.setRequestHeader( 'Connection', 'close');	
		xmlHttp.send(send);
		snsTest();
									
	}else if(status == "emptyList"){		
		
		var screenName = document.deviceCheck.screenName.value;
		var send = 'screenName='+screenName;							
		var url = '/jsp/mobileRegisterAjax.jsp';		
		xmlHttp=GetXmlHttpObject();			
		xmlHttp.open("POST",url,true);
		xmlHttp.setRequestHeader( 'Content-type','application/x-www-form-urlencoded' );
		xmlHttp.onreadystatechange = function(){
			if (xmlHttp.readyState==4){ 
			document.getElementById("displayDiv").innerHTML=xmlHttp.responseText;
			}
		};
		xmlHttp.setRequestHeader( 'Content-length', send.length );
		xmlHttp.setRequestHeader( 'Connection', 'close');	
		xmlHttp.send(send);
		snsTest();		
	}else{		
		snsTest();				
	}	
}

/**
Function to display the details of the phone selected from dropdown.
*/

function getMobileInfo(){
	
	var device = document.mobileInfo.registeredDevices;
	var select = device.options[device.selectedIndex].value;
	var screenName = document.mobileInfo.screenName.value;
	var send = 	'getMobileInfo=true&deviceNumber=' + select + '&screenName=' + screenName;
	var url = '/jsp/mobileInfoDisplay.jsp';		
	xmlHttp=GetXmlHttpObject();			
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader( 'Content-type','application/x-www-form-urlencoded' );
	xmlHttp.onreadystatechange = function(){
		if (xmlHttp.readyState==4){ 
		document.getElementById("displayDiv").innerHTML=xmlHttp.responseText;
		}
	};
	xmlHttp.setRequestHeader( 'Content-length', send.length );
	xmlHttp.setRequestHeader( 'Connection', 'close');	
	xmlHttp.send(send);
}

/**
Function to delete the Registered Number.
*/

function deleteDevice(){
	
	var singleDevice = document.mobileInfo.singleDevice.value;
		
	if(singleDevice == 1){
		var deviceNumber = document.mobileInfo.singleDeviceNumber.value;
	}else{
		var device = document.mobileInfo.registeredDevices;
		var deviceNumber = device.options[device.selectedIndex].value;
	}	
	var screenName = document.mobileInfo.screenName.value;
	var send = 'deleteDevice=true&screenName=' + screenName	+ '&deviceNumber=' + deviceNumber;
	var url = '/jsp/confirmDelete.jsp';	
	xmlHttp=GetXmlHttpObject();			
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader( 'Content-type','application/x-www-form-urlencoded' );
	xmlHttp.onreadystatechange = function(){
		if (xmlHttp.readyState==4){ 
		document.getElementById("displayDiv").innerHTML=xmlHttp.responseText;
		}
	};
	xmlHttp.setRequestHeader( 'Content-length', send.length );
	xmlHttp.setRequestHeader( 'Connection', 'close');	
	xmlHttp.send(send);
}

function deleteNumber(listSize){
		
	var screenName = document.deviceDetails.screenName.value;
	var deviceNumber = document.deviceDetails.deviceNumber.value;
	if (listSize==1){
		var send = 'deleteNumber=true&screenName=' + screenName + '&deviceNumber=' +deviceNumber;
		var url = '/jsp/mobileRegisterAjax.jsp';		
		xmlHttp=GetXmlHttpObject();			
		xmlHttp.open("POST",url,true);
		xmlHttp.setRequestHeader( 'Content-type','application/x-www-form-urlencoded' );
		xmlHttp.onreadystatechange = function(){
			if (xmlHttp.readyState==4){ 
			document.getElementById("displayDiv").innerHTML=xmlHttp.responseText;
			}
		};
		xmlHttp.setRequestHeader( 'Content-length', send.length );
		xmlHttp.setRequestHeader( 'Connection', 'close');	
		xmlHttp.send(send); 
	}else{
		var send = 'deleteDevice=true&screenName=' + screenName + '&deviceNumber=' + deviceNumber ;
		var url = '/jsp/deleteDevice.jsp';
		xmlHttp=GetXmlHttpObject();			
		xmlHttp.open("POST",url,true);
		xmlHttp.setRequestHeader( 'Content-type','application/x-www-form-urlencoded' );
		xmlHttp.onreadystatechange = function(){
			if (xmlHttp.readyState==4){ 
			document.getElementById("displayDiv").innerHTML=xmlHttp.responseText;
			}
		};
		xmlHttp.setRequestHeader( 'Content-length', send.length );
		xmlHttp.setRequestHeader( 'Connection', 'close');	
		xmlHttp.send(send);		
	}
}

/**
Function to cancel the Delete Process
*/
function cancelDelete(){
	
	var screenName = document.deviceDetails.screenName.value;
	var deviceNumber = document.deviceDetails.deviceNumber.value;
	var send = 'cancelDelete=true&screenName=' + screenName + '&deviceNumber=' + deviceNumber ;
	var url = '/jsp/deleteDevice.jsp';	
	xmlHttp=GetXmlHttpObject();			
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader( 'Content-type','application/x-www-form-urlencoded' );
	xmlHttp.onreadystatechange = function(){
		if (xmlHttp.readyState==4){ 
		document.getElementById("displayDiv").innerHTML=xmlHttp.responseText;
		}
	};
	xmlHttp.setRequestHeader( 'Content-length', send.length );
	xmlHttp.setRequestHeader( 'Connection', 'close');	
	xmlHttp.send(send);
}

/**
Function to add a second Number
*/
function addDevice(){

	var screenName = document.mobileInfo.screenName.value;	
	var send = 'addUserDevice=true&screenName='+screenName;
	
	//var url = '/jsp/mobileRegisterAjax.jsp?addUserDevice=true&screenName=' + screenName;
	var url = '/jsp/mobileRegisterAjax.jsp';
	xmlHttp=GetXmlHttpObject();			
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader( 'Content-type','application/x-www-form-urlencoded' );
	xmlHttp.onreadystatechange = function(){
		if (xmlHttp.readyState==4){ 
		document.getElementById("displayDiv").innerHTML=xmlHttp.responseText;
		}
	};
	xmlHttp.setRequestHeader( 'Content-length', send.length );
	xmlHttp.setRequestHeader( 'Connection', 'close');	
	xmlHttp.send(send);		
}

/**
Function to cancel the process of second number registration
*/

function cancelProcess(){
	
	var screenName = document.headerForm.screenName.value;
	var send = 'regUser=true&screenName='+screenName;	
	//var url = '/jsp/cancelRegistration.jsp?regUser=true&screenName=' + screenName;
	var url = '/jsp/cancelRegistration.jsp';	
	xmlHttp=GetXmlHttpObject();			
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader( 'Content-type','application/x-www-form-urlencoded' );
	xmlHttp.onreadystatechange = function(){
		if (xmlHttp.readyState==4){ 
		document.getElementById("displayDiv").innerHTML=xmlHttp.responseText;
		}
	};
	xmlHttp.setRequestHeader( 'Content-length', send.length );
	xmlHttp.setRequestHeader( 'Connection', 'close');	
	xmlHttp.send(send);	
}

function editDevice(){

	var screenName = document.mobileInfo.screenName.value;
	var singleDevice = document.mobileInfo.singleDevice.value;
	
	if(singleDevice == 1){
		var deviceNumber = document.mobileInfo.singleDeviceNumber.value;
		//alert("Device Number = " + deviceNumber);
	}else{
		var device = document.mobileInfo.registeredDevices;
		var deviceNumber = device.options[device.selectedIndex].value;
		//alert("Device Selected = " + select);
	}	
	
	var url = 'mobileEdit.jsp?deviceNumber=' + deviceNumber + '&screenName=' + screenName;
	document.forms["mobileInfo"].action = '/mobileEdit';
	document.forms["mobileInfo"].method = "POST";
	document.forms["mobileInfo"].submit();	
}

/**
Functions for customizeSettings
*/

function customizeSettings(){

	var singleDevice = document.mobileInfo.singleDevice.value;
	//alert("Single device = " + singleDevice);
	
	if(singleDevice == 1){
		var deviceNumber = document.mobileInfo.singleDeviceNumber.value;
		//alert("Device Number = " + deviceNumber);
	}else{
		var device = document.mobileInfo.registeredDevices;
		var deviceNumber = device.options[device.selectedIndex].value;
		//alert("Device Selected = " + select);
	}	

	var screenName = document.mobileInfo.screenName.value;
	
	var ph1 = deviceNumber.substring(0,3);
	var ph2 = deviceNumber.substring(3,6);
	var ph3 = deviceNumber.substring(6,10);
	
	var send = 'screenName=' + screenName + '&ph1=' + ph1 + '&ph2=' + ph2 + '&ph3=' + ph3;
	var url =  '/jsp/customizeSettings.jsp';	
	xmlHttp=GetXmlHttpObject();			
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader( 'Content-type','application/x-www-form-urlencoded' );
	xmlHttp.onreadystatechange = function(){
		if (xmlHttp.readyState==4){ 
		document.getElementById("displayDiv").innerHTML=xmlHttp.responseText;
		}
	};
	xmlHttp.setRequestHeader( 'Content-length', send.length );
	xmlHttp.setRequestHeader( 'Connection', 'close');	
	xmlHttp.send(send);
}

function populateModels(){

	var makeValue = document.mobileSettings.make;
	var make = makeValue.options[makeValue.selectedIndex].value;
		
	var screenName = document.mobileSettings.screenName.value;
	var deviceNumber = document.mobileSettings.deviceNumber.value;
	
	var carrier = document.mobileSettings.carrier.value;
	
	var send = 'carrier=' + carrier + '&screenName=' + screenName + '&deviceNumber=' + deviceNumber + '&make=' + make;	
	var url = '/jsp/getCustomizeModels.jsp';
		
	xmlHttp=GetXmlHttpObject();			
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader( 'Content-type','application/x-www-form-urlencoded' );
	xmlHttp.onreadystatechange = function(){
		if (xmlHttp.readyState==4){ 
		document.getElementById("editPhone").innerHTML=xmlHttp.responseText;
		}
	};
	xmlHttp.setRequestHeader( 'Content-length', send.length );
	xmlHttp.setRequestHeader( 'Connection', 'close');	
	xmlHttp.send(send);
}

function browseModelsByPicture(form) {
	
	var selectedMake = "";	
	var ph1 = document.mobileSettings.ph1.value;
	var ph2 = document.mobileSettings.ph2.value;
	var ph3 = document.mobileSettings.ph3.value;
	var carrier = document.mobileSettings.carrier.value;
	var device = document.mobileSettings.make;
	var selectedMake = device.options[device.selectedIndex].value;
	var screenName = document.mobileSettings.screenName.value;	
	
	var url = '/jsp/browseByPicture.jsp?success=true&ph1=' + ph1 + '&ph2='+ ph2 + '&ph3=' + ph3 + '&screenName='+ screenName +'&carrier='+ carrier +'&make=' + selectedMake;
	
	window.open('/jsp/browseByPicture.jsp?success=false&ph1=' + ph1 + '&ph2='+ ph2 + '&ph3=' + ph3 + '&screenName='+ screenName +'&carrier='+ carrier +'&make=' + selectedMake, selectedMake, 'width=580,height=470,scrollbars=yes');
		
}

function populateImage(model){

	var screenName = document.mobileSettings.screenName.value;	
	var carrier = document.mobileSettings.carrier.value;
	var make = document.mobileSettings.make.value;
	var model = model.options[model.selectedIndex].value;
	var send = 'getImage=true&carrier=' + carrier + '&screenName=' + screenName + '&make=' + make + '&model=' +model;
	var url = '/jsp/customizeImage.jsp';
	xmlHttp=GetXmlHttpObject();			
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader( 'Content-type','application/x-www-form-urlencoded' );
	xmlHttp.onreadystatechange = function(){
		if (xmlHttp.readyState==4){ 
		document.getElementById("phone_info").innerHTML=xmlHttp.responseText;
		}
	};
	xmlHttp.setRequestHeader( 'Content-length', send.length );
	xmlHttp.setRequestHeader( 'Connection', 'close');	
	xmlHttp.send(send);
}

function cancelCustomizeUpdate(){
	
	var screenName = document.mobileSettings.screenName.value;
	var send = 'regUser=true&screenName=' + screenName;	
	var url = '/jsp/Registration.jsp';
	xmlHttp=GetXmlHttpObject();			
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader( 'Content-type','application/x-www-form-urlencoded' );
	xmlHttp.onreadystatechange = function(){
		if (xmlHttp.readyState==4){ 
		document.getElementById("displayDiv").innerHTML=xmlHttp.responseText;
		}
	};
	xmlHttp.setRequestHeader( 'Content-length', send.length );
	xmlHttp.setRequestHeader( 'Connection', 'close');	
	xmlHttp.send(send);		
}

function updateDevice(){
	
	var ph1 = document.mobileSettings.ph1.value;
	var ph2 = document.mobileSettings.ph2.value;
	var ph3 = document.mobileSettings.ph3.value;
	
	var carrier = document.mobileSettings.carrier.value;
	var screenName = document.mobileSettings.screenName.value;
	
	var selectedMake = document.mobileSettings.make;
	var make = selectedMake.options[selectedMake.selectedIndex].value;
	
	var selectedModel = document.mobileSettings.model;
	var model = selectedModel.options[selectedModel.selectedIndex].value;
	
	var send = 'mobileInfo=true&ph1=' + ph1 + '&ph2='+ ph2 + '&ph3=' + ph3 + '&carrier=' + carrier + '&screenName=' + screenName + '&make=' + make + '&model=' + model;
	var url = '/jsp/updateCustomizeSettings.jsp';
	xmlHttp=GetXmlHttpObject();			
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader( 'Content-type','application/x-www-form-urlencoded' );
	xmlHttp.onreadystatechange = function(){
		if (xmlHttp.readyState==4){ 
		document.getElementById("displayDiv").innerHTML=xmlHttp.responseText;
		}
	};
	xmlHttp.setRequestHeader( 'Content-length', send.length );
	xmlHttp.setRequestHeader( 'Connection', 'close');	
	xmlHttp.send(send);
}

function changeCarrier(){

	var carrierSelected = document.title_menu.carrierTitle;
	var carrier = carrierSelected.options[carrierSelected.selectedIndex].value;
	var screenName = document.title_menu.screenName.value;
	
	var url = 'mobileInfo.jsp?regUser=true&screenName=' + screenName + '&carrierTitle=' + carrier;

	document.title_menu.regUser.value = "true";
	
	document.forms["title_menu"].action = '/mobileInfo';
	document.forms["title_menu"].method = "POST";
	document.forms["title_menu"].submit();
}

function isNumberKey(evt){
    var charCode = (evt.which) ? evt.which : event.keyCode
    if (charCode > 31 && (charCode < 48 || charCode > 57))
       return false;

    return true;
}

function nextbox(num,nbox)
{	
	if(num.value.length==3){		
		document.register.elements[nbox].focus();
	}
}
function nextButton(num,nbox)
{	
	if(num.value.length==4){
		document.register.elements[nbox].focus();		
	}
}

function checkSubmit(form){
	
	var ph1 = form.ph1.value;
	var ph2 = form.ph2.value;
	var ph3 = form.ph3.value;
	var carrier = form.carrier.options[form.carrier.selectedIndex].value;
	
	if (form.carrier.selectedIndex == 0) {
      alert ("\nPlease select a Carrier!!")
      form.carrier.focus();
      return false;      
	}

    if (form.ph1.value.length != 3) {
      alert ("\nPlease enter the first 3 digits of your phone number!!")
      form.ph1.focus();
      return false;
	}

	if (form.ph2.value.length != 3) {
      alert ("\nPlease enter the middle 3 digits of your phone number!!")
      form.ph2.focus();
      return false;
	}
	
	if (form.ph3.value.length != 4) {
      alert ("\nPlease enter the last 4 digits of your phone number!!")
      form.ph3.focus();
      return false;
	}
	
	
	var carrier = form.carrier.value;
	//omnitureCarrier = carrier;
	var ph1 = form.ph1.value;
	var ph2 = form.ph2.value;
	var ph3 = form.ph3.value;
	
	var formName = document.login.name;	
		
	var screenName = document.headerForm.screenName.value;
	
	var addDevice = document.headerForm.addDevice.value;
	var send = 'carrier=' + carrier + '&ph1=' + ph1 + '&ph2=' + ph2 + '&ph3=' + ph3 + '&screenName=' + screenName + '&addDevice=' + addDevice;			
	var url = '/jsp/registerDevice.jsp';	
	xmlHttp=GetXmlHttpObject();			
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader( 'Content-type','application/x-www-form-urlencoded' );
	xmlHttp.onreadystatechange = function(){
		if (xmlHttp.readyState==4){ 
		document.getElementById("displayDiv").innerHTML=xmlHttp.responseText;
		}
	};
	xmlHttp.setRequestHeader( 'Content-length', send.length );
	xmlHttp.setRequestHeader( 'Connection', 'close');	
	xmlHttp.send(send);
}

function submitShortCode(code){

	var shortCode = document.register.shortCode.value;
		
	var ph1 = document.register.phone1.value;
	var ph2 = document.register.phone2.value;
	var ph3 = document.register.phone3.value;
	
	var carrier = document.register.carrierVal.value;
	var screenName = document.register.screenName.value;	
		
	if(shortCode == code){				
		var url = 'mobileSettings.jsp?ph1=' + ph1 + '&ph2='+ ph2 + '&ph3=' + ph3 + '&carrier=' + carrier + '&screenName=' + screenName + '&success=true' + '&shortCode=' + shortCode;
		//alert("URL = " + url);
		
		document.register.success.value = "true";		
		document.forms["register"].action = '/mobileSettings/success';
		document.forms["register"].method = "POST";
		document.forms["register"].submit();
	
	}else{
		var addDevice = document.headerForm.addDevice.value;
		var send='shortCode='+ shortCode + '&ph1=' + ph1 + '&ph2='+ ph2 + '&ph3=' + ph3 + '&carrier=' + carrier + '&screenName=' + screenName + '&addDevice='+ addDevice;
		var url = '/jsp/checkConfirmationCode.jsp';
				
		xmlHttp=GetXmlHttpObject();			
		xmlHttp.open("POST",url,true);
		xmlHttp.setRequestHeader( 'Content-type','application/x-www-form-urlencoded' );
		xmlHttp.onreadystatechange = function(){
			if (xmlHttp.readyState==4){ 
			document.getElementById("authNone").innerHTML=xmlHttp.responseText;
			}
		};
		xmlHttp.setRequestHeader( 'Content-length', send.length );
		xmlHttp.setRequestHeader( 'Connection', 'close');	
		xmlHttp.send(send);
	}	
}

function goHome(){
	self.location.href = 'http://mobile.aol.com/';
}

function isNumberKey(evt){
    var charCode = (evt.which) ? evt.which : event.keyCode
    if (charCode > 31 && (charCode < 48 || charCode > 57))
       return false;

    return true;
}

function checkCode(code){

	var codeValue = document.halfRegForm.shortCode.value;
	var screenName = document.halfRegForm.screenName.value;	
	if(codeValue == code){
		
		document.halfRegForm.success.value = "true";		
		document.forms["halfRegForm"].action = '/mobileSettings/success';
		document.forms["halfRegForm"].method = "POST";
		document.forms["halfRegForm"].submit();
		
	}else{
		//url = '../jsp/regPopUp.jsp?fail=true&screenName='+screenName+'&shortCode='+codeValue;
		var send = 'fail=true&screenName='+screenName+'&shortCode='+codeValue;
		var url = '/jsp/halfRegistration.jsp';
		xmlHttp=GetXmlHttpObject();			
		xmlHttp.open("POST",url,true);
		xmlHttp.setRequestHeader( 'Content-type','application/x-www-form-urlencoded' );
		xmlHttp.onreadystatechange = function(){
			if (xmlHttp.readyState==4){ 
			document.getElementById("displayDiv").innerHTML=xmlHttp.responseText;
			}
		};
		xmlHttp.setRequestHeader( 'Content-length', send.length );
		xmlHttp.setRequestHeader( 'Connection', 'close');	
		xmlHttp.send(send);
	}
}

function cancelHalfReg(){
	
	var screenName = document.halfRegForm.screenName.value;
	
	var ph1 = document.halfRegForm.ph1.value;
	var ph2 = document.halfRegForm.ph2.value;
	var ph3 = document.halfRegForm.ph3.value;

	var deviceNumber = ph1 + ph2 + ph3;
	var send = 'regUser=true&deleteDevice=true&screenName=' + screenName + '&deviceNumber=' + deviceNumber;
	var url = '/jsp/cancelHalfRegistration.jsp';	
	xmlHttp=GetXmlHttpObject();			
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader( 'Content-type','application/x-www-form-urlencoded' );
	xmlHttp.onreadystatechange = function(){
		if (xmlHttp.readyState==4){ 
		document.getElementById("displayDiv").innerHTML=xmlHttp.responseText;
		}
	};
	xmlHttp.setRequestHeader( 'Content-length', send.length );
	xmlHttp.setRequestHeader( 'Connection', 'close');	
	xmlHttp.send(send);
}

function cancelRegistration(){

	var screenName = document.register.screenName.value;
	
	var ph1 = document.register.phone1.value;
	var ph2 = document.register.phone2.value;
	var ph3 = document.register.phone3.value;

	var deviceNumber = ph1 + ph2 + ph3;
	var send = 'regUser=true&deleteDevice=true&screenName=' + screenName + '&deviceNumber=' + deviceNumber;
	var url = '/jsp/cancelHalfRegistration.jsp';	
	xmlHttp=GetXmlHttpObject();			
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader( 'Content-type','application/x-www-form-urlencoded' );
	xmlHttp.onreadystatechange = function(){
		if (xmlHttp.readyState==4){ 
		document.getElementById("displayDiv").innerHTML=xmlHttp.responseText;
		}
	};
	xmlHttp.setRequestHeader( 'Content-length', send.length );
	xmlHttp.setRequestHeader( 'Connection', 'close');	
	xmlHttp.send(send);
}

function deviceSet(){
	var deviceNumber = document.register.deviceNumber.value;
	document.forms["register"].action = '/mobileInfo';
	document.forms["register"].method = "POST";
	document.forms["register"].submit();
}