 var ajaxReq = null;

  function hideEditLayer()
  {
   document.getElementById('div_edit').innerHTML = document.getElementById('div_edit_orig_text').innerHTML;
   document.getElementById('div_edit').style.visibility = "hidden";
   document.getElementById('div_edit').style.display = "none";
   ShowSelects();
  }

  function showEditLayer()
  {
     ShowLayer('div_edit','viewHotLink');
  }


  function getQuickEditIdGiven(object,holding_field_id,target_field_name,invalidate_msg){

     
	 var value = holding_field_id;
	 var target_field = "";
     if ( value == null ||  value == "" ) {
         alert("No data available for quick editing");
         return;
     }
	
     if ( target_field_name != undefined && target_field_name != "" ) {
		target_field = "&target_field_name="+target_field_name;
     }
     
    

     if(object == "LEAD" || object == "CONTACT" || object == "ACCOUNT")
     {
        if ( invalidate_msg != undefined && invalidate_msg != "" ) 
        {             
			if(!confirm(invalidate_msg))
			  return ; 
        }
     }

     if( ajaxReq && ajaxReq.readyState!=0){
         ajaxReq.abort()
     }

     var ajaxReq = getXmlHttp1();
	 
	 parent.document.getElementById('div_edit').innerHTML = parent.document.getElementById('div_edit_orig_text').innerHTML;

	 ShowIframeDiv('div_edit');

     if(ajaxReq){

	 var url = "Service?t=202&object_id=ACCOUNT&targetpage=QuickAccountEdit.jsp&id="+ value + target_field;
         if (object == "LEAD")
          url = "Service?t=252&object_id=LEAD&targetpage=QuickAccountEdit.jsp&id="+ value + target_field;
         else if (object == "CONTACT")
          url = "Service?t=207&object_id=CONTACT&targetpage=QuickContactEdit.jsp&id="+ value + target_field;

         ajaxReq.onreadystatechange=function() {
             if(ajaxReq.readyState == 4 ) {
                 if ( ajaxReq.responseText.length > 0 )
                 {
					 parent.document.getElementById('div_edit').innerHTML = "";
					 parent.document.getElementById('div_edit').innerHTML = ajaxReq.responseText;

					 ShowIframeDiv('div_edit');
					 
					 if(object == "CONTACT")
					 {
				 	   parent.document.quick_edit_form.first_name.focus();
						
					 }
					 else
					 {
					   parent.document.quick_edit_form.name.focus();
						
					 }
                 }
             }
         }
         ;

         ajaxReq.open("GET", url, true);
         ajaxReq.send(null)

     }
  }

  function getQuickEdit(object,holding_field,holding_field_name){

     var form = document.mainForm;

     var value = holding_field.value;
    
     if (holding_field_name != undefined && holding_field_name != "")
     {
     	getQuickEditIdGiven(object,value,holding_field_name);
     }
     else
     {
	     getQuickEditIdGiven(object,value);
     }
     

  }

  function getQuickEditRelatedTo(holding_type,holding_field,holding_field_name){

     var form = document.mainForm;

     var value = holding_field.value;
     
     var object = holding_type[holding_type.selectedIndex].value;
     
     if (object == "Account")
      object = "ACCOUNT";
     else if (object == "Lead")
      object = "LEAD";
     else
      {
        alert("Quick Edit Not Supported");
        return;
      }  
     
     if (holding_field_name != undefined && holding_field_name != "")
     {
     	getQuickEditIdGiven(object,value,holding_field_name);
     }
     else
     {
	     getQuickEditIdGiven(object,value);
     }

  }

 function quickEditSubmit()
 {
     var posData = formData2QueryString(document.quick_edit_form);
     
     var el = '';
     
     //if form elements contain checkbox element and the value is unchecked
     //append query string with corresponding key and a "0" value  
     if(posData.lastIndexOf('&') != posData.length-1)
     {
     	posData += '&';
     }
     	
     for (i = 0; i < document.quick_edit_form.elements.length; i++) 
     {
     	el = document.quick_edit_form.elements[i];
     	if(el.type == 'checkbox' && !el.checked)
     	{
            posData += el.name + '=' + encodeURIComponent("0") + '&';
     	} 
     }
     
      if (posData.lastIndexOf('&') == posData.length-1) 
      {
		posData = posData.substr(0, posData.length - 1);
	  }
     
     if( ajaxReq && ajaxReq.readyState!=0){
         ajaxReq.abort()
     }

     var ajaxReq = getXmlHttp1();

     if(ajaxReq){

         var randomnumber=Math.floor(Math.random()*10000000);

         var url = "Service?rdm=" + randomnumber;

         ajaxReq.onreadystatechange=function() {
             if(ajaxReq.readyState == 4 ) {
                 if ( ajaxReq.responseText.length > 0 )
                 {
					 if (ajaxReq.responseText != "1")
					 {
					  document.getElementById('div_edit').innerHTML = "";
					  document.getElementById('div_edit').innerHTML = ajaxReq.responseText;
					 } 
					 else
					 {
					  
					  if (document.quick_edit_form.target_field_name && (document.quick_edit_form.target_field_name.value != "" && document.quick_edit_form.target_field_name.value != undefined))
					  {  
						  var object_id = document.quick_edit_form.object_id.value;
						  	
						  var refer_name = "document.mainForm." + document.quick_edit_form.target_field_name.value;
						 
                          if (document.mainForm && eval(refer_name))
                          {
                             
                            var target_field = eval(refer_name);
                           
                            if (object_id == "CONTACT")
                            {
	                            target_field.value = document.quick_edit_form.first_name.value + ' ' + document.quick_edit_form.last_name.value;
                            }
                            else if (object_id == "ACCOUNT" || object_id =="LEAD")
                            {
                            	target_field.value = document.quick_edit_form.name.value ;
                            }
                          }
					  }
					  hideEditLayer();
					  
					 } 
				}
             }
         }
         ;

         ajaxReq.open("POST", url, true);
         ajaxReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
         ajaxReq.send(posData);

     }
 }

 function formData2QueryString(docForm) {

  var submitContent = '';
  var formElem;
  var lastElemName = '';

  for (i = 0; i < docForm.elements.length; i++) {

    formElem = docForm.elements[i];
    switch (formElem.type) {
      // Text fields, hidden form elements
      case 'text':
      case 'hidden':
      case 'password':
      case 'textarea':
      case 'select-one':
        submitContent += formElem.name + '=' + encodeURIComponent(formElem.value) + '&'
        break;

      // Radio buttons
      case 'radio':
        if (formElem.checked) {
          submitContent += formElem.name + '=' + encodeURIComponent(formElem.value) + '&'
        }
        break;

      // Checkboxes
      case 'checkbox':
        if (formElem.checked) {
          // Continuing multiple, same-name checkboxes
          if (formElem.name == lastElemName) {
            // Strip of end ampersand if there is one
            if (submitContent.lastIndexOf('&') == submitContent.length-1) {
              submitContent = submitContent.substr(0, submitContent.length - 1);
            }
            // Append value as comma-delimited string
            submitContent += ',' + encodeURIComponent(formElem.value);
          }
          else {
            submitContent += formElem.name + '=' + encodeURIComponent(formElem.value);
          }
          submitContent += '&';
          lastElemName = formElem.name;
        }
        break;

    }
  }
  // Remove trailing separator
  submitContent = submitContent.substr(0, submitContent.length - 1);
  return submitContent;
  }

function disableContactRow(i)
{
   var flag = "background-color:white";

   var box = document.getElementById("delete_contact_" + i);
   if (box.checked)
    flag = "background-color:#cccccc";

   var form = document.mainForm;
   var obj = document.getElementById("first_name_"+i);
   obj.style.cssText += flag;
   var obj = document.getElementById("last_name_"+i);
   obj.style.cssText += flag;
   var obj = document.getElementById("phone_"+i);
   obj.style.cssText += flag;
   var obj = document.getElementById("mobile_"+i);
   obj.style.cssText += flag;
   var obj = document.getElementById("fax_"+i);
   obj.style.cssText += flag;
   var obj = document.getElementById("email_"+i);
   obj.style.cssText += flag;
   var obj = document.getElementById("title_"+i);
   obj.style.cssText += flag;
}


function scratchSubmit()
{
     var note = document.getElementById("note").value;
	 if( ajaxReq && ajaxReq.readyState!=0){
       ajaxReq.abort()
     }

     var ajaxReq = getXmlHttp1();

     if(ajaxReq){
		 
		 var url = "Service?s=661&a=add&note="+escape(note)+"&targetpage=QuickEditSuccess.jsp";


		   ajaxReq.onreadystatechange=function() {
             if(ajaxReq.readyState == 4 ) {
                 if ( ajaxReq.responseText.length > 0 )
                 {
					 location.href="Service?t=661&targetpage=ScratchNotes.jsp";
                 }

             }
         }
         ;

         ajaxReq.open("GET", url, true);
         ajaxReq.send(null)

     }
  }

function insertTag(tag)
{

 var tag_type = document.getElementById('selected_tab');
 if (tag_type.value == 'private_tags')
 {
   insertPrivateTag(tag);
 }
 else
 {
    insertPublicTag(tag);
 }

}

function insertPrivateTag(tag)
{
 var current_value = document.getElementById("lj_private_tags").value;
 if (current_value == "")
   document.getElementById("lj_private_tags").value = tag;
 else
 {
  if (!isTagContains(current_value,tag))
  {
    if (current_value.lastIndexOf(",") == current_value.length-1)
      document.getElementById("lj_private_tags").value =  current_value + tag;
    else
	  document.getElementById("lj_private_tags").value =  current_value + "," + tag;
  } 
 }
}

function insertPublicTag(tag)
{
 var current_value = document.getElementById("lj_public_tags").value;
 var other_public_tags = document.getElementById("lj_other_public_tags_for_display").value;
 if (current_value == "" && other_public_tags == "")
   document.getElementById("lj_public_tags").value = tag;
 else
 {
  if (!isTagContains(other_public_tags,tag))
  {
	  if (!isTagContains(current_value,tag))
	  {
	    if (current_value.lastIndexOf(",") == current_value.length-1)
	      document.getElementById("lj_public_tags").value =  current_value + tag;
	    else
		  document.getElementById("lj_public_tags").value =  current_value + "," + tag;
	  }
  }
  else
  {
	   alert(I18n.getMsg ("tags.records_tagged_error",tag));
  } 
 }
}

function tagSubmit(id,object_id)
{

  	 var url = "Service?s=892&a=manage&id=" + id + "&object_id=" + object_id + "&targetpage=QuickEditSuccess.jsp";
    
     if (document.getElementById("lj_private_tags"))
     {
		var privateTags = document.getElementById("lj_private_tags").value;
		url = url + "&private_tags="+escape_URI(privateTags);
	 }
	 
     if (document.getElementById("lj_public_tags"))
	 {
		 var publicTags = document.getElementById("lj_public_tags").value;
   		 url = url + "&public_tags="+escape_URI(publicTags);
	 }
     
     if( ajaxReq && ajaxReq.readyState!=0){
       ajaxReq.abort()
     }
     
     var ajaxReq = getXmlHttp1();

     if(ajaxReq)
     {
        
        ajaxReq.onreadystatechange=function() 
        {
        	if(ajaxReq.readyState == 4 ) 
        	{
            	if ( ajaxReq.responseText.length > 0 )
                {
					if (ajaxReq.responseText == "1")
				   	{
				    	hideIframeDiv('div_tag_edit');
				    	reloadRecordDetails();
				   	}
				   	else
				   	{
				    	alert("An error occurred while saving tags");
				   	}
				}
			}
		};

         ajaxReq.open("GET", url, true);
         ajaxReq.send(null)

     }
  }

function deleteScratch(id)
{
	 if( ajaxReq && ajaxReq.readyState!=0){
       ajaxReq.abort()
     }

     var ajaxReq = getXmlHttp1();

     if(ajaxReq){
		 
		 var url = "Service?s=661&a=delete&id=" + id;

		   ajaxReq.onreadystatechange=function() {
             if(ajaxReq.readyState == 4 ) {
                 if ( ajaxReq.responseText.length > 0 )
                 {
					 location.href="Service?t=661&targetpage=ScratchNotes.jsp";
                 }

             }
         }
         ;

         ajaxReq.open("GET", url, true);
         ajaxReq.send(null)

     }
  }





  function showScratchLayer(id)
  {
     document.getElementById('div_edit').innerHTML = document.getElementById('div_edit_orig_text').innerHTML;
     ShowLayer('div_edit','viewScratchLayer');

     if( ajaxReq && ajaxReq.readyState!=0){
         ajaxReq.abort()
     }

     var ajaxReq = getXmlHttp1();

     if(ajaxReq){

         var url = "Service?s=661&a=delete&id=" + id;
         ajaxReq.onreadystatechange=function() {
             if(ajaxReq.readyState == 4 ) {
                 if ( ajaxReq.responseText.length > 0 )
                 {
                     document.getElementById('div_scratch').innerHTML = "";
                     document.getElementById('div_scratch').innerHTML = ajaxReq.responseText;
                     document.getElementById('div_edit').innerHTML = document.getElementById('div_scratch').innerHTML;                     
                 }
             }
         }
         ;

         ajaxReq.open("GET", url, true);
         ajaxReq.send(null)

     }
  }


  function showTagEdit(id)
  {
     ShowIframeDiv('div_tag_edit');
     showTagTab('private_tags');
          
     if( ajaxReq && ajaxReq.readyState!=0){
         ajaxReq.abort()
     }

     var ajaxReq = getXmlHttp1();

     if(ajaxReq){

         var randomnumber=Math.floor(Math.random()*10000000);

	 var url = "Service?t=31&targetpage=RecentAndPopularTags.jsp&rd=" + randomnumber;
         ajaxReq.onreadystatechange=function() {
             if(ajaxReq.readyState == 4 ) {
                 if ( ajaxReq.responseText.length > 0 )
                 {
                     document.getElementById('lj_internal_recent_tags1').innerHTML = "";
                     document.getElementById('lj_internal_recent_tags1').innerHTML = ajaxReq.responseText; 
                     document.getElementById('lj_internal_recent_tags2').innerHTML = "";
                     document.getElementById('lj_internal_recent_tags2').innerHTML = ajaxReq.responseText; 
                 }
             }
         }
         ;

         ajaxReq.open("GET", url, true);
         ajaxReq.send(null)

     }
  }



// Converts a string to a valid uri... (spaces become %20, etc, etc..)
function escape_URI(La){
	if(encodeURIComponent) {
		return encodeURIComponent(La);
	}
	
	if(escape) {
		return escape(La)
	}
}


function getXmlHttp1(){

    var req =null;

    try{
        req = new ActiveXObject("Msxml2.XMLHTTP")
    }catch(e){
        try{
            req = new ActiveXObject("Microsoft.XMLHTTP")
        } catch(oc){
            req = null
        }
    }

    if(!req && typeof XMLHttpRequest != "undefined") {
        req = new XMLHttpRequest()
    }

    return req
}


function launchJavascript(responseText) {
  // RegExp from prototype.conio.net
  var ScriptFragment = "(?:<script.*?>)((\\n|.)*?)(?:<\/script>)";

  var match    = new RegExp(ScriptFragment, 'img');
  var scripts  = responseText.match(match);

    if(scripts) {
        var js = '';
        for(var s = 0; s < scripts.length; s++) {
            var match = new RegExp(ScriptFragment, 'im');
            js += scripts[s].match(match)[1];
        }

        eval(js);
		
    }
}


function hideIframeDiv(divID)
{
	var divElem = document.getElementById(divID);
	divElem.style.visibility = "hidden";
	divElem.style.display = "none";
	removeIFrameShim();
}


function showTagRenameDiv(tag_name,flag_public)
{
     if (document.getElementById("old_tag_name") && document.getElementById("public_tag_flag"))
     {
        document.getElementById("old_tag_name").value=tag_name;
        document.getElementById("public_tag_flag").value=flag_public;
        document.getElementById("new_tag_name").value=tag_name;
        document.getElementById("div_error_message").innerHTML='';
        ShowIframeDiv('div_tag_rename');
     }
}

function tagRenameSubmit()
{
     var new_tag_name = document.getElementById("new_tag_name").value;
     var old_tag_name = document.getElementById("old_tag_name").value;
     var public_tag_flag = document.getElementById("public_tag_flag").value;
     var continue_flag = true;
     
     if (isTagNameAlreadyExists(old_tag_name,new_tag_name,public_tag_flag))
     {
        if (!confirm(I18n.getMsg("tags.alert_tags",new_tag_name.replace(/^\s+/g, '').replace(/\s+$/g, ''))))
        {
          return false;
        }        
     }

     if( ajaxReq && ajaxReq.readyState!=0){
       ajaxReq.abort()
     }
     
     var ajaxReq = getXmlHttp1();

     if(ajaxReq)
     {
     	var url = "Service?s=892&a=rename&old_tag_name=" + escape_URI(old_tag_name) + "&new_tag_name=" + escape_URI(new_tag_name) + "&public_tag_flag="+ public_tag_flag+ "&sourcepage=TagFailed.jsp&targetpage=QuickEditSuccess.jsp";
        
        ajaxReq.onreadystatechange=function() 
        {
        	if(ajaxReq.readyState == 4 ) 
        	{
            	if ( ajaxReq.responseText.length > 0 )
                {
					if (ajaxReq.responseText == "1")
				   	{
				    	hideIframeDiv('div_tag_rename');
				    	reloadAfterTagRename(new_tag_name,public_tag_flag,I18n.getMsg ("tags.renamed_success"));
				   	}
				   	else
				   	{
						var error_message = ajaxReq.responseText.substr(ajaxReq.responseText.indexOf('_;;_')+4);
				        document.getElementById('div_error_message').innerHTML = error_message;
   						document.getElementById('div_error_message').style.color = "red";
				        document.getElementById('div_error_message').style.display = 'block';
				   	}
				}
			}
		};

         ajaxReq.open("GET", url, true);
         ajaxReq.send(null)

     }
  }

 function showTagCombo(id)
 {
	var positioning = 'below';
	var aDivButton = document.getElementById(id+'Button');
	aDivButton.className = "tagMenuButtonHover LightColor"; 	
	var aDivMenu = document.getElementById(id+"Menu");
	var div = document.getElementById(id+'Button');

    var b = GetBox(aDivButton);
    
    if (b.left > 1900)
    {
     aDivMenu.style.left = b.right - aDivMenu.offsetWidth - 4 + 'px';
     aDivMenu.style.top  = b.bottom - 1 + 'px';
    }
    else if (b.bottom > 100 && positioning != "below")
    {
      aDivMenu.style.left = b.right + 'px';
      aDivMenu.style.top  = b.top - 20 + 'px';
    }
    else
    {
      aDivMenu.style.left = b.left + 'px';
      aDivMenu.style.top  = b.bottom - 1 +'px';
    }
    
      if(aDivMenu.style.visibility)  //scrollable divs dont have visible property
      aDivMenu.style.visibility = "visible";
      aDivMenu.style.display = "block";

	if (div.offsetWidth > aDivMenu.offsetWidth)
	{
      aDivMenu.style.width= div.offsetWidth + "px";
    } 
    
 } 
 
 function hideTagCombo(id)
 {
	var aDivButton = document.getElementById(id+'Button');
	aDivButton.className = 'tagMenuButton';
	var aDivMenu = document.getElementById(id+"Menu");
	aDivMenu.style.display= 'none';
 } 
 
 function deleteTagSubmit(tag_name,flag_public,search_token,search_token_public_flag)
 {

	 if( ajaxReq && ajaxReq.readyState!=0){
       ajaxReq.abort()
     }
     
     var ajaxReq = getXmlHttp1();

     if(ajaxReq)
     {
     	var url = "Service?s=892&a=delete&tag_name=" + escape_URI(tag_name) + "&flag_public="+ flag_public+ "&sourcepage=TagFailed.jsp&targetpage=QuickEditSuccess.jsp";
        
        ajaxReq.onreadystatechange=function() 
        {
        	if(ajaxReq.readyState == 4 ) 
        	{
            	if ( ajaxReq.responseText.length > 0 )
                {
					if (ajaxReq.responseText == "1")
				   	{
				    	reloadAfterTagRename(search_token,search_token_public_flag, I18n.getMsg ("tags.deleted_success"));
				   	}
				   	else
				   	{
						var error_message = ajaxReq.responseText.substr(ajaxReq.responseText.indexOf('_;;_')+4);
				        alert(error_message);
				   	}
				}
			}
		};

         ajaxReq.open("GET", url, true);
         ajaxReq.send(null)

     } 
 }
 
 function hideTagPopup()
 {
   if (document.getElementById("lj_private_tags") && document.getElementById("original_private_tags"))
   {
     document.getElementById("lj_private_tags").value = document.getElementById("original_private_tags").value; 
   }
   if (document.getElementById("lj_public_tags") && document.getElementById("original_public_tags"))
   {
     document.getElementById("lj_public_tags").value = document.getElementById("original_public_tags").value;
   }
   hideIframeDiv('div_tag_edit');
 }
 
 function isTagContains(str, tag)
 {
    var a = str.split(",");
    tag = tag.toLowerCase();
    tag = tag.replace(/^\s+/g, '').replace(/\s+$/g, '');
    for(j=0;j<a.length;j++)
    {
      var temp = a[j].toLowerCase();
      temp = temp.replace(/^\s+/g, '').replace(/\s+$/g, '');
      if(temp == tag)
        return true;
    }
    return false;
 }

 function isTagNameAlreadyExists(old_tag_name,new_tag_name,flag_public)
{
  var randomnumber=Math.floor(Math.random()*10000000);
  var posData = "old_tag_name=" + old_tag_name+ "&new_tag_name="+ new_tag_name + "&flag_public="+flag_public;
  var url = "Service?t=943" + "&random=" + randomnumber;
  var ajaxReq = getXmlHttp1();
  if( ajaxReq && ajaxReq.readyState!=0)
  {
    ajaxReq.abort()
  }

  if(ajaxReq)
  {
    ajaxReq.open("POST", url, false);
    ajaxReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    ajaxReq.send(posData);
    if ( ajaxReq.responseText.length > 0 )
    {
      if (ajaxReq.responseText.replace(/^\s+/g, '').replace(/\s+$/g, '') != '')
      {
        return true;
      }
      else
      {
        return false;
      }
    }
  }

  return false;
} 

function ShowChildRowLevel(row_id,record_id,id_field, object_id, level,is_ajax_call)
{

       if (document.getElementById('ul_' + row_id ))
       {
       
        if (document.getElementById('ul_' + row_id ).style.display != 'none')
        {
	        document.getElementById('ul_' + row_id ).style.display = "none";
	   		document.getElementById('li_' + row_id ).style.listStyleType = 'none';
	   		document.getElementById('img_' + row_id ).src = "graphics/rightblack.gif";
	   	}
	   	else
	   	{
	        document.getElementById('ul_' + row_id ).style.display = "block";
	   		document.getElementById('li_' + row_id ).style.listStyleType= 'none';
	   		document.getElementById('img_' + row_id ).src = "graphics/downblack.gif";
	   	}
	   		return;
       }

   if( ajaxReq && ajaxReq.readyState!=0)
	{	 ajaxReq.abort(); }

	var ajaxReq = getXmlHttp1();

	if(ajaxReq)
	{
		var randomnumber=Math.floor(Math.random()*10000000);
		var url = "Service?t=100&targetpage=LookupChildRecordData.jsp&row_id="+row_id+ "&record_id=" + record_id + "&id_field="+ id_field + "&object_id="+ object_id + "&level=" + level +"&random=" + randomnumber;
		ajaxReq.open("GET", url, false);
	    ajaxReq.send(null);
	    
		if( ajaxReq.responseText.length > 0 )
	    {
	
	      if (ajaxReq.responseText.replace(/^\s+/g, '').replace(/\s+$/g, '') != '')
	      {
            var ul;
            
            if (document.getElementById('ul_' + row_id))
            {
                ul = document.getElementById('ul_' + row_id);
            }
            else
            {
				var ul = document.createElement('ul');	        
				ul.id = "ul_"+row_id;
				ul.innerHTML = ajaxReq.responseText;
				ul.style.display = "block";
				ul.style.marginTop = "3px";
				ul.style.marginBottom = "3px";
				var li = document.getElementById('li_' + row_id );
				li.appendChild(ul);
            }
			document.getElementById('img_' + row_id ).src = "graphics/downblack.gif";
		  }
		  else
		  { 
			   if (document.getElementById('li_' + row_id ) && document.getElementById('img_' + row_id ) && document.getElementById('img_' + row_id ).src.indexOf("downblack.gif") == -1)
			   {
				 document.getElementById('img_' + row_id ).src = "graphics/downblack.gif";
			   }
			   else
			   {
			     document.getElementById('img_' + row_id ).src = "graphics/rightblack.gif";
			   }
		  }
	    }
	}
}
 
