	
	var pageSize=10;		// SET NUMBER OF PAGES PER PAGE.
	var startPos=0;			// START CURRENT PAGE FROM THE FIRST ELEMENT.
	var sortOrder="";		// GLOBAL VARIBALE TO HOLD THE SORTING ORDER.
	var rowEditing=false;	// BOOLEAN VALUE TO STOP EDITING MULTIPLE FIELD AT ONCE.
	var groupArray=new Array();
// ##	STATES AND COUNTRY ARRAY	##  //
	var state = new Array("Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Maine","Maryland","Massachusetts","Louisiana","Kentucky","Kansas","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Carolina","North Dakota","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming","Washington D.C.","Guam","Puerto Rico");

	var country = new Array("Argentina","Armenia","American Samoa","Antarctica","Australia","Austria","Belgium","Canada","Switzerland","Chile","China","Colombia","Germany","Denmark","Spain","United Kingdom","Indonesia","India","Ireland","Mexico","Russian Federation","United States");

// ####################################  //

// ##	CREATE ADDRESS BOOK DATA ARRAY THIS WILL LOADED FROM PHP VARIABLES	##  //


// ##	BUILD ACTUAL TABLE TO SHOW AND SORT		## //

	function buildTable(ids,name,email)		// FUNCTION TO BUILD THE ACTUAL TABLE.
	{
		var myId = ids.split(',');
		var myName = name.split(',');
		myEmail = email.split(',');
		var len = myId.length;
		len = len-1;
		var outputStr="";		// VARIABLE TO STORE AND AFTER DISPLAY OUTPUT

		outputStr=outputStr + "<table width='100%' style='border:1px soild #D0D0D0;' cellspacing='0' cellpadding='2'><tr><td align='center'><table width='100%' cellspacing='0' cellpadding='0' border='0' ><tr><td width='5%' class='navNormal'>&nbsp;</td><td class='navNormal' align='center' valign='middle'><img src='images/add.gif' class='forImage' title='Add Contact' onClick='addRow();'></td><td width='20%' class='navNormal' align='left'><a href='javascript:void(0);' id='aid' class='button4' onClick='addRow();' title='Add Contact'>Add Contact</a></td>";

		outputStr=outputStr + "<td width='3%' align='right' class='navNormal'><img src='images/delete.gif' class='forImage' title='Delete' onClick='delRow();'></td><td width='20%' align='left' class='navNormal'><a href='javascript:void(0);' id='did' class='button4' onClick='delRow();' title='Delete'>Delete</a></td><td width='3%' class='navNormal' align='right' valign='middle'><img src='images/mange.gif' class='forImage' title='Manage Group' onClick='showGroup(myEmail);'></td><td width='20%' align='left' class='navNormal'><a href='javascript:void(0);' id='mid' class='button4' onClick='showGroup(myEmail);' title='Manage Group'>Manage Group</a></td>";

		outputStr=outputStr + "<td width='3%' align='left' class='navNormal'><img src='images/email.gif' class='forImage' title='Import Emails'></td><td width='20%' align='left' class='navNormal'><a href='address_book.php?action=IPEM' class='button4' title='Import Emails'>Import Emails</a></td></tr>";
		var gMsg = '&nbsp;';
		if(parseInt(Gmsg)==1)
			var gMsg = "<br><span class='eyardSign_BdayMonth'>Group Created Successfully!!</span><br><br>";

		outputStr=outputStr + "</table></td></tr><tr><td align='center' valign='top' id='addN'>"+gMsg+"</td></tr>";

		outputStr=outputStr + "	<tr><td><table width='100%' cellspacing='0' cellpadding='0' style='border:1px solid #f5f5f5'>";
		
		if(len>0 && myId!='')
		{
			outputStr=outputStr + "<tr><td class='navNormal' align='center'><img src='images/yes1.gif' border='0' onClick='checkAll();' style='cursor:hand;cursor:pointer' title='Select All'></td><td class='navNormal' style='padding-left:16px;'><span class='eyardSign_BdayMonth'>Name</span></td>";
			outputStr=outputStr + "<td class='navNormal' colspan='2' style='padding-left:16px;'><span class='eyardSign_BdayMonth'>Primary Email</span></td></tr>";

	// ##	CREATE CELL WITH ADDRESS BOOK ARRAY DATA	## //

			for (i=0;i<len;i++)
			{	 
				if(myName[i] =='')
					name = '&nbsp;';
				else
					name = myName[i];

				outputStr=outputStr + "<tr bgcolor='#ffffff'>";
				outputStr=outputStr + "<td align='center' style='border:1px solid #f5f5f5'><input type='checkbox' name='del' id='del' value='"+ myId[i] +"'></td>";
				outputStr=outputStr + "<td style='padding-left:15px;border:1px solid #f5f5f5'><div id='cell1" + i + "'>" + name + "</div></td>";
				outputStr=outputStr + "<td style='padding-left:15px;border:1px solid #f5f5f5'><div id='cell2" + i + "'>" + myEmail[i] + "</div></td>";
				outputStr=outputStr + "<td style='padding-left:15px;border:1px solid #f5f5f5' align='center'><div id='but" + i + "'><input type='button' name='edit' class='button1' value='Edit' title='Edit' onclick='editRow(" + myId[i] + ")'></td>";

				outputStr=outputStr + "</tr>";
			}

	// ##	ADD PAGING LINKS TO THE TABLE	## //

			//if (startPos>0)
			//	outputStr=outputStr + "<a href='javascript:back();'>&lt;-</a>";

			//if ((startPos+pageSize)<myName.length)
			//	outputStr=outputStr + "<a href='javascript:forward();'>-&gt;</a>";
		}
		else
		{
		  outputStr=outputStr + "<tr><td id='addnew' class='nav' colspan='4' align='center'><span class='gError'>No Contacts Found in Your Address Book.</span></td>";
		}
		outputStr=outputStr + "</td>";
		outputStr=outputStr + "</tr>";
		outputStr=outputStr + "</table>";
		outputStr=outputStr + "</td>";
		outputStr=outputStr + "</tr>";
		outputStr=outputStr + "</table>";

		document.getElementById("abook_layer").innerHTML=outputStr;
	}

	function checkAll()
	{
	   var obj = document.getElementsByName('del');
	   var len = obj.length;
	   var flag=false;
	   for(i=0;i<len;i++)
	   {
			if(obj[i].checked==false)
		    {
				obj[i].checked=true;
				flag = true;
			}
	   }
	   if(!flag)	
	   {
	   	 for(i=0;i<len;i++)
		 {
			if(obj[i].checked==true)
				obj[i].checked=false;
		 }
	   }
	}

// ##	PAGING IN BACKWORD DIRECTION	## //	
	function back()
	{
		startPos=startPos-pageSize;
		if (startPos<0)
			startPos=0;
	
		buildTable();
	}

// ##	PAGING IN FORWARD DIRECTION		## //	
	function forward()
	{
		startPos=startPos+pageSize;
		buildTable();
	}

// ## FUNCTION USE TO CANCEL CHANGES AND REBUILD TABLE	## //
	function cancelChange()
	{
		rowEditing=false;
		buildTable();
	}

// ## FUNCTION USE TO EDIT CONTACTS  ## //
	function editRow(eid)
	{
		http1 = createRequestObject();
		http1.open('get', 'chkdata.php?action=editContact&cId='+ eid);
		http1.onreadystatechange = bringData;
		http1.send(null);
	}
	function bringData()
	{
		if(http1.readyState == 1)
		{	
			document.getElementById("addN").innerHTML = ''; 
			document.getElementById('addN').innerHTML = "<span class='eyardSign_BdayMonth'>Please wait....</span>";
		}
		if(http1.readyState == 4)
		{
			addRow();
			var obj =  document.newContact;
			var response = http1.responseXML.getElementsByTagName('address_id')[0];
			if(response.childNodes[0].nodeValue!='null')
				obj.addressId.value = response.childNodes[0].nodeValue;

			var response = http1.responseXML.getElementsByTagName('fname')[0];
			if(response.childNodes[0].nodeValue!='null')
				obj.fname.value = response.childNodes[0].nodeValue;

			var response = http1.responseXML.getElementsByTagName('lname')[0];
			if(response.childNodes[0].nodeValue!='null')
				obj.lname.value = response.childNodes[0].nodeValue;

			var response = http1.responseXML.getElementsByTagName('pemail')[0];
			if(response.childNodes[0].nodeValue!='null')
				obj.pemail.value = response.childNodes[0].nodeValue;

   			var response = http1.responseXML.getElementsByTagName('wemail')[0];
			if(response.childNodes[0].nodeValue!='null')
				obj.wemail.value = response.childNodes[0].nodeValue;

   			var response = http1.responseXML.getElementsByTagName('oemail')[0];
			if(response.childNodes[0].nodeValue!='null')
				obj.oemail.value = response.childNodes[0].nodeValue;

   			var response = http1.responseXML.getElementsByTagName('website')[0];
			if(response.childNodes[0].nodeValue!='null')
				obj.website.value = response.childNodes[0].nodeValue;

   			var response = http1.responseXML.getElementsByTagName('pphone')[0];
			if(response.childNodes[0].nodeValue!='null')
				obj.pnum.value = response.childNodes[0].nodeValue;

   			var response = http1.responseXML.getElementsByTagName('wphone')[0];
			if(response.childNodes[0].nodeValue!='null')
				obj.onum.value = response.childNodes[0].nodeValue;

   			var response = http1.responseXML.getElementsByTagName('mobile')[0];
			if(response.childNodes[0].nodeValue!='null')
				obj.mobile.value = response.childNodes[0].nodeValue;

   			var response = http1.responseXML.getElementsByTagName('fax')[0];
			if(response.childNodes[0].nodeValue!='null')
				obj.fax.value = response.childNodes[0].nodeValue;

   			var response = http1.responseXML.getElementsByTagName('padd1')[0];
			if(response.childNodes[0].nodeValue!='null')
				obj.padd1.value = response.childNodes[0].nodeValue;

   			var response = http1.responseXML.getElementsByTagName('padd2')[0];
			if(response.childNodes[0].nodeValue!='null')
				obj.padd2.value = response.childNodes[0].nodeValue;
   			
			var response = http1.responseXML.getElementsByTagName('pers_city')[0];
			if(response.childNodes[0].nodeValue!='null')
				obj.pcity.value = response.childNodes[0].nodeValue;

   			var response = http1.responseXML.getElementsByTagName('pzip')[0];
			if(response.childNodes[0].nodeValue!='null')
				obj.pzip.value = response.childNodes[0].nodeValue;

   			var response = http1.responseXML.getElementsByTagName('pstate')[0];
			if(response.childNodes[0].nodeValue!='null')
			{
				pState = response.childNodes[0].nodeValue;
				if(pState!='')
				{
					for(var i=0;i<obj.pstate.length;i++)
					{
						if(obj.pstate.options[i].value==pState)
						{
							obj.pstate.options[i].selected=true;
							break;
						}
						else
							continue;
					}
				}
			}
   			var response = http1.responseXML.getElementsByTagName('pcountry')[0];
			if(response.childNodes[0].nodeValue!='null')
			{
				var pCtry = response.childNodes[0].nodeValue;
				if(pCtry!='')
				{
					for(var i=0;i<obj.pcountry.length;i++)
					{
						if(obj.pcountry.options[i].value==pCtry)
						{
							obj.pcountry.options[i].selected=true;
							break;
						}
						else
							continue;
					}
				}
			}
   			var response = http1.responseXML.getElementsByTagName('company')[0];
			if(response.childNodes[0].nodeValue!='null')
				obj.companyName.value = response.childNodes[0].nodeValue;

   			var response = http1.responseXML.getElementsByTagName('wadd1')[0];
			if(response.childNodes[0].nodeValue!='null')
				obj.wadd1.value = response.childNodes[0].nodeValue;

   			var response = http1.responseXML.getElementsByTagName('wadd2')[0];
			if(response.childNodes[0].nodeValue!='null')
				obj.wadd2.value = response.childNodes[0].nodeValue;

   			var response = http1.responseXML.getElementsByTagName('wcity')[0];
			if(response.childNodes[0].nodeValue!='null')
				obj.wcity.value = response.childNodes[0].nodeValue;

   			var response = http1.responseXML.getElementsByTagName('wzip')[0];
			if(response.childNodes[0].nodeValue!='null')
				obj.wzip.value = response.childNodes[0].nodeValue;

   			var response = http1.responseXML.getElementsByTagName('wstate')[0];
			if(response.childNodes[0].nodeValue!='null')
			{
				var wState = response.childNodes[0].nodeValue;
				if(wState!='')
				{
					for(var i=0;i<obj.wstate.length;i++)
					{
						if(obj.wstate.options[i].value==wState)
						{
							obj.wstate.options[i].selected=true;
							break;
						}
						else
							continue;
					}
				}
			}
   			var response = http1.responseXML.getElementsByTagName('wcountry')[0];
			if(response.childNodes[0].nodeValue!='null')
			{
				var wCtry = response.childNodes[0].nodeValue;
				if(wCtry!='')
				{
					for(var i=0;i<obj.wcountry.length;i++)
					{
						if(obj.wcountry.options[i].value==wCtry)
						{
							obj.wcountry.options[i].selected=true;
							break;
						}
						else
							continue;
					}
				}
			}
   			var response = http1.responseXML.getElementsByTagName('option')[0];
			var opt = response.childNodes[0].nodeValue;
			for(var i=0;i<obj.eOptions.length;i++)
			{
				if(obj.eOptions.options[i].value==opt)
				{
					obj.eOptions.options[i].selected=true;
					break;
				}
				else
					continue;
			}

			obj.action.value = 'updateContactData';
		}
	}
// ## FUNCTION USE TO DELETE CONTACTS  ## //
	function delRow()
	{
		var obj = document.getElementsByName('del');
		var len = obj.length;
		var flag = false;
		var idData = '';
		for(i=0;i<len;i++)
		{
			if(obj[i].checked)
			{
				idData += obj[i].value+',';
				flag=true;
			}
			else
				continue;
		}
		if(flag)
		{
			ajaxObj1 = createRequestObject();
			ajaxObj1.open('POST','chkdata.php', true);
			ajaxObj1.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
			var formData = "ids="+idData+"&action=delContact";
			ajaxObj1.onreadystatechange = checkResponse;
			ajaxObj1.send(formData);
		}
		else
			alert('Please Select at least one Contact to Delete.')
	}
	function checkResponse()
	{
	  if(ajaxObj1.readyState == 1)
	  {
		document.getElementById('addN').innerHTML = '<span class="uError">P l e a s e &nbsp;&nbsp;w a i t .....</span>';
	  }
	  if(ajaxObj1.readyState == 4)
	  {
		 var response = ajaxObj1.responseXML.getElementsByTagName('message')[0];
		 var data = response.childNodes[0].nodeValue;
		 if(data=='Error')
		 {
			var ids = '';
			var name = '';
			var email = '';
			var response = ajaxObj1.responseXML.getElementsByTagName('data')[0];
			var data = response.childNodes[0].nodeValue;
			buildTable(ids,name,email);	
			document.getElementById('addnew').innerHTML = '';
 			document.getElementById('addnew').innerHTML = '<span class="uError">'+data+'</span>';
		 }
		 else
		 {
			var ids = '';
			var name = '';
			var email = '';
			var response = ajaxObj1.responseXML.getElementsByTagName('ids')[0];
			ids = response.childNodes[0].nodeValue;
			var response = ajaxObj1.responseXML.getElementsByTagName('name')[0];
			name = response.childNodes[0].nodeValue;
   			var response = ajaxObj1.responseXML.getElementsByTagName('email')[0];
			email = response.childNodes[0].nodeValue;
			// ##	REDRAW	THE ADDRESS TABLE	## //
			buildTable(ids,name,email);	 
			document.getElementById('addN').innerHTML = '';
 			document.getElementById('addN').innerHTML = '<span class="uError">'+data+'</span>';
		 }
	   }
	   response = '';
    }
///////////////////////////////////////////////////////////////////////////////
// ## FUNCTION USE TO ADD NEW ROW TO DATA ARRAY	 ## //
	function removeAdd()
	{
		document.getElementById("addN").innerHTML = '';
	}
	function addRow()
	{
		var addNewRow='';
		addNewRow = "<form name='newContact'><table width='100%' align='center' cellspacing='5' cellpadding='0' border='0' style='border:1px solid #003471;' class='tableeysText'><tr><td colspan='2' align='center'><table border='0' width='100%' cellspacing='0' cellpadding='0' class='tableeysText'><td width='85%' id='addConId' style='padding-left:16px;' class='eyardSign_BdayMonth'>&nbsp;</td><td align='right' style='padding-right:5px;' nowrap><a href='javascript:void(0);' title='Save' onClick='saveChange(false);' class='eys_bdaytxt'><b>Save</b></a>&nbsp;&nbsp;<a href='javascript:void(0);' title='Reset' onClick='document.newContact.reset();' class='eys_bdaytxt'><b>Reset</b></a>&nbsp;&nbsp;<a href='javascript:void(0);' title='Close' onClick='removeAdd();' class='eys_bdaytxt'><b>Close</b></a></td></tr></table></td></tr>";
		
		addNewRow += "<tr><td colspan='2' style='padding-left:13px'><table width='30%' border='0' class='tableeysText'><tr><td width='2%'><img src='images/personal.gif' border='0' title='Personal Details'></td><td  class='eyardSign_BdayMonth'>Personal Details</td></tr></table></td></tr>";

		addNewRow += "<tr><td width='48%' style='padding-left:30px' nowrap><span class='uError'>*</span>First Name</td><td>&nbsp;:&nbsp; <input type='text' id='fname' name='fname' class='txtboxblack' size='20' maxlength='30' onKeyPress='remove_mesg();'></td></tr><tr><td colspan='3'><img src='images/zero.gif' height='5' width='100%'></td></tr>";
		
		addNewRow += "<tr><td width='48%' style='padding-left:30px' nowrap><span class='uError'>*</span>Last Name</td><td>&nbsp;:&nbsp; <input type='text' name='lname' id='lname' class='txtboxblack' size='20' maxlength='30'></td></tr><tr><td colspan='3'><img src='images/zero.gif' height='5' width='100%'></td></tr>";
		
		addNewRow += "<tr><td colspan='2' style='padding-left:13px'><table width='30%' class='tableeysText'><tr><td width='3%'><img src='images/email.gif' border='0' title='Online Addresses'></td><td class='eyardSign_BdayMonth'>Online Addresses</td></tr></table></td></tr><tr><td colspan='2'><img src='images/zero.gif' height='5' width='100%'></td></tr><tr><td colspan='2'><table width='100%' cellspacing='0' cellpadding='2' class='tableeysText'> <tr><td width='50%' style='padding-left:30px'><span class='uError'>*</span>Personal E-mail </td><td width='2%'>:</td><td colspan='2'><input type='text' name='pemail' id='pemail' class='txtboxblack' size='20' maxlength='40'></td></tr><tr><td width='50%' style='padding-left:30px'><span class='uError'>&nbsp;</span>Office E-mail</td><td width='2%'>:</td><td colspan='2'><input type='text' name='wemail' id='wemail' class='txtboxblack' size='20' maxlength='40'></td></tr><tr><td width='50%' style='padding-left:30px'><span class='uError'>&nbsp;</span>Other E-mail</td><td width='2%'>:</td><td colspan='2'><input type='text' name='oemail' id='oemail' class='txtboxblack' size='20' maxlength='40'></td></tr><tr><td width='50%' style='padding-left:35px'>Web Site</td><td width='2%'>:</td><td colspan='2'><input type='text' name='website' id='website' class='txtboxblack' size='20' maxlength='40'></td></tr><tr><td width='50%' style='padding-left:30px'><span class='uError'>&nbsp</span>Primary E-Mail <td width='2%'>:</td><td colspan='2'><select name='eOptions' class='txtboxblack'><option value='1'>Personal E-mail</option><option value='2'>Office E-mail</option><option value='3'>Other E-mail</option></select></td></tr> </table></td></tr>";

		addNewRow += "<tr><td colspan='2'><img src='images/zero.gif' height='5' width='100%'></td></tr> <tr><td colspan='2' style='padding-left:13px'><table width='30%' class='tableeysText'><tr><td width='3%'><img src='images/phone.gif' border='0' title='Phone Numbers'></td><td class='eyardSign_BdayMonth'>Phone Numbers</td></tr></table></td></tr><tr><td colspan='2'><img src='images/zero.gif' height='5' width='100%'></td></tr><tr><td colspan='2'><table width='100%' cellspacing='0' cellpadding='2' class='tableeysText'><tr><td width='50%' style='padding-left:35px'>Personal</td><td width='2%'>:</td><td colspan='2'><input type='text' name='pnum' id='pnum' class='txtboxblack' size='20' maxlength='15'></td></tr><tr><td width='50%' style='padding-left:35px'>Office</td><td width='2%'>:</td><td colspan='2'><input type='text' name='onum' id='onum' class='txtboxblack' size='20' maxlength='15'></td></tr><tr><td width='50%' style='padding-left:35px'>Mobile</td><td width='2%'>:</td><td><input type='text' name='mobile' id='mobile' class='txtboxblack' size='20' maxlength='15'></td></tr><tr><td width='50%' style='padding-left:35px'>Fax</td><td width='2%'>:</td><td><input type='text' name='fax' id='fax' class='txtboxblack' size='20'  maxlength='15'></td></tr></table></td></tr>";

		addNewRow += "<tr><td colspan='2'><img src='images/zero.gif' height='5' width='100%'></td></tr> <tr><td colspan='2' style='padding-left:13px'><table width='30%' class='tableeysText'><tr><td width='3%'><img src='images/address.gif' border='0' title='Mailing Addresses'></td><td  class='eyardSign_BdayMonth'>Mailing Addresses</td></tr></table></td></tr><tr><td colspan='2'><img src='images/zero.gif' height='5' width='100%'></td></tr><tr><td colspan='2' class='eyardSign_BdayMonth' style='padding-left:30px'>Personal</td></tr><tr><td colspan='2'>  <table border='0' width='100%' cellspacing='0' cellpadding='2' class='tableeysText'><tr><td width='50%' style='padding-left:35px' nowrap>Street Address 1</td><td width='2%'>:</td><td colspan='2'><input type='text' name='padd1' id='padd1' class='txtboxblack' size='20' maxlength='50'></td></tr><tr><td width='50%' style='padding-left:35px' nowrap>Street Address 2</td><td width='2%'> :</td><td colspan='2'> <input type='text' name='padd2' id='padd2' class='txtboxblack' size='20' maxlength='50'></td></tr><tr><td width='50%' style='padding-left:35px'>City</td><td width='2%'>:</td><td colspan='2'><input type='text' name='pcity' id='pcity' class='txtboxblack' size='20' maxlength='20'></td><td></td></tr><tr><td width='50%' style='padding-left:35px' nowrap>Zip</td><td width='2%'> :</td><td colspan='2'> <input type='text' name='pzip' id='pzip' class='txtboxblack' size='20' maxlength='10'></td></tr><tr><td width='50%' style='padding-left:35px'>State/Province</td><td width='2%'>:</td><td colspan='2'>";
		
		addNewRow += "<select name='pstate' class='txtboxblack'><option>Select State</option>";
		for(var i=0;i<state.length;i++)
		{
			addNewRow += "<option value='"+state[i]+"'>"+state[i]+"</option>";
		}
		addNewRow += "</select></td></tr><tr><td width='50%' style='padding-left:35px' nowrap>Country</td><td width='2%'> : </td><td>";
		
		addNewRow += "<select name='pcountry' class='txtboxblack'><option>Select Country</option>";
		
		for(var i=0;i<country.length;i++)
		{
			addNewRow += "<option value='"+country[i]+"'>"+country[i]+"</option>";
		}
	
		addNewRow += "</select></td></tr></table></td></tr>";

		addNewRow += "<tr><td colspan='2' class='eyardSign_BdayMonth' style='padding-left:30px'>Work</td></tr><tr><td colspan='2'><table border='0' width='100%' cellspacing='0' cellpadding='2' class='tableeysText'><tr><td width='50%' style='padding-left:35px' nowrap>Company Name</td><td width='2%'>:</td><td colspan='2'><input type='text' name='companyName' id='companyName' class='txtboxblack' size='20' maxlength='50'></td></td></tr><tr><td width='50%' style='padding-left:35px' nowrap>Street Address 1</td><td width='2%'>:</td><td><input type='text' name='wadd1' id='wadd1' class='txtboxblack' size='20' maxlength='50'></td></tr><tr><td width='50%' style='padding-left:35px' nowrap>Street Address 2 </td><td width='2'>:</td><td><input type='text' name='wadd2' id='wadd2' class='txtboxblack' size='20' maxlength='50'></td></tr><tr><td width='50%' style='padding-left:35px' nowrap>City</td><td width='2%'>:</td><td><input type='text' name='wcity' id='wcity' class='txtboxblack' size='20' maxlength='20'></td></tr><tr><td width='50%' style='padding-left:35px' nowrap>Zip</td><td width='2'> :</td><td> <input type='text' name='wzip' id='wzip' class='txtboxblack' size='20' maxlength='10'></td></tr><tr><td width='50%' style='padding-left:35px' nowrap>State/Province</td><td width='2%'>:</td>";
		
		addNewRow += "<td><select name='wstate' class='txtboxblack'><option>Select State</option>";
		
		for(var i=0;i<state.length;i++)
		{
			addNewRow += "<option value='"+state[i]+"'>"+state[i]+"</option>";
		}
		
		addNewRow += "</select></td></tr><tr><td width='50%' style='padding-left:35px' nowrap>Country </td><td width='2'>:</td><td> <select name='wcountry' class='txtboxblack'><option>Select Country</option>";
	
		for(var i=0;i<country.length;i++)
		{
			addNewRow += "<option value='"+country[i]+"'>"+country[i]+"</option>";
		}
	
		addNewRow += "</select></td></tr></table></td></tr><tr><td colspan='2'><img src='images/zero.gif' height='5' width='100%'></td></tr><tr><td colspan='2' align='center' valign='bottom'><table border='0' width='100%' cellspacing='0' cellpadding='0'><td width='85%' id='addConId' style='padding-left:16px;' class='eyardSign_BdayMonth'>&nbsp;</td><td align='right' style='padding-right:5px;' nowrap><a href='javascript:void(0);' title='Save' onClick='saveChange(false);' class='eys_bdaytxt'><b>Save</b></a>&nbsp;&nbsp;<a href='javascript:void(0);' title='Reset' onClick='document.newContact.reset();' class='eys_bdaytxt'><b>Reset</b></a>&nbsp;&nbsp;<a href='javascript:void(0);' title='Close' onClick='removeAdd();' class='eys_bdaytxt'><b>Close</b></a></td></tr></table></td></tr><tr><td colspan='2'><img src='images/zero.gif' height='2' width='100%'></td></tr></table><input type='hidden' name='action' value='storeContactData'><input type='hidden' name='addressId'></form>";	  
		
		document.getElementById("addN").innerHTML = addNewRow; 
	}


// ##	FUNCTION TO SAVE THE NEW CONTACT IN ADDRESS BOOK  ## //
	function saveChange()
	{
		flag=true;
		var obj =  document.newContact;

		if(mytrim(obj.fname.value) == '')
		{
			alert('First Name can not be Empty.');
			obj.fname.focus();
			flag=false;
		}
		else if(mytrim(obj.lname.value) == '')
		{
			alert('Last Name can not be Empty.');
			obj.lname.focus();
			flag=false;
		}
		else if(obj.pemail.value == '')
		{
			alert('Personal Email Address can not be Left Blank.');
			obj.pemail.focus();
			flag=false;
		}
		else if(!isEmailAddr(obj.pemail.value))
		{
		   alert("Please enter valid Email Address.\nEx.: jhon@hotmail.com");
		   obj.pemail.value='';
		   obj.pemail.focus();
		   flag=false;
		}
		/*else if(obj.wemail.value == '')
		{
			alert('Office Email Address can not be Left Blank.');
			obj.wemail.focus();
			flag=false;
		}
		else if(obj.wemail.value != '' && (!isEmailAddr(obj.wemail.value)))
		{
		   alert("Please enter valid Office Email Address.\nEx.: jhon@hotmail.com");
		   obj.wemail.value='';
		   obj.wemail.focus();
		   flag=false;		
		}
		else if(obj.oemail.value == '')
		{
			alert('Other Email Address can not be Left Blank.');
			obj.oemail.focus();
			flag=false;
		}
		else if(obj.oemail.value != '' && (!isEmailAddr(obj.oemail.value)))
		{
		   alert("Please enter valid Other Email Address.\nEx.: jhon@hotmail.com");
		   obj.oemail.value='';
		   obj.oemail.focus();
		   flag=false;		
		}*/

		if(flag)
		{
			ajaxObj = createRequestObject();
			ajaxObj.open('POST','chkdata.php', true);
			ajaxObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
			var formData = getFormValues(obj);
			ajaxObj.onreadystatechange = sendContactData;
			ajaxObj.send(formData);
		}
  }
  function sendContactData()
  {
	if(ajaxObj.readyState == 1)
	{
		document.getElementById('addConId').innerHTML = 'P l e a s e &nbsp;&nbsp;w a i t .....';
	}
	if(ajaxObj.readyState == 4)
	{
		 var response = ajaxObj.responseText;
		
		 document.newContact.reset();
		 var response = ajaxObj.responseXML.getElementsByTagName('message')[0];
		 var data = response.childNodes[0].nodeValue;
		 if(data=='Error')
		 {
 			document.getElementById('addConId').innerHTML = '';
			var response = ajaxObj.responseXML.getElementsByTagName('data')[0];
			var data = response.childNodes[0].nodeValue;
			alert(data)
		 }
		 else
		 {
			var response = ajaxObj.responseXML.getElementsByTagName('ids')[0];
			var ids = response.childNodes[0].nodeValue;
			var response = ajaxObj.responseXML.getElementsByTagName('name')[0];
			var name = response.childNodes[0].nodeValue;
   			var response = ajaxObj.responseXML.getElementsByTagName('email')[0];
			var email = response.childNodes[0].nodeValue;
			
			// ##	REDRAW	THE ADDRESS TABLE	## //
			buildTable(ids,name,email);	 
			addRow();
 			document.getElementById('addConId').innerHTML = data;
		 }
	}
  }
  function getFormValues(fobj)		// CREATE QUERY STRING FROM FORM ELEMENTS VALUES //
  {
       var str = "";
       var valueArr = null;
       var val = "";
       var cmd = "";
       for(var i = 0;i < fobj.elements.length;i++)
       {
		   switch(fobj.elements[i].type)
           {
               case "text":
	              str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&";
                  break;
			   case "hidden":
	              str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&";
                  break;
               case "select-one":
                  str += fobj.elements[i].name + "=" + fobj.elements[i].options[fobj.elements[i].selectedIndex].value + "&";
				  break;
	       }
	   }
	
	   str = str.substr(0,(str.length - 1));
	   return str;
  }
  function remove_mesg()
  {
	document.getElementById('addConId').innerHTML = '';  
  }

///////////////////////////////////////////////////////////////////////////////
//					THIS PORTION USED TO HANDLE GROUP						 //
///////////////////////////////////////////////////////////////////////////////

function showGroup(emails)
{
	if(emails=='')
	{
		alert('You can\'t manage the groups as your address book is empty!!\nFirst add contacts in your address book and then use this feature.')
	}
	else
	{
		if(document.getElementById('addN').innerHTML != '')
			document.getElementById('addN').innerHTML = ''; 


		if(document.getElementById('delG').value !='')
		{
			var delGVal = "~"+document.getElementById('delG').value+"~";
		}
		else
		{
			var delGVal ='';
		}

		var obj = document.getElementById('showG')
		obj.innerHTML = '';
		var output = '';
		output = '<br><br><table width="98%" border="0" cellSpacing="0" cellPadding="0" align="center"><tr><td><table width="90%" align="center" border="0" cellspacing="0" cellpadding="0"><tr bgcolor="#D0D0D0"><td colspan="3"><img src="images/zero.gif" width="1" height="1"></td></tr><tr><td width="1" bgcolor="#D0D0D0"><img src="images/zero.gif" width="1" height="1"></td><td width="100%"><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="images/eyard_onepixelbg.gif" height="1"></td></tr><tr><td align="center" valign="top"><table width="100%" align="center" cellspacing="0" cellpadding="0" border="0"><tr><td class="nav"><table width="100%" border="0" cellSpacing="0" cellPadding="0" class="tableeysText"><tr><td width="3%"><img src="images/creategroup.gif" border="0" style="cursor:pointer;cursor:hand;" title="Create/Manage Groups"></td><td class="eyardSign_BdayMonth">Create New Group or Manage Existing Group<tt>(s)</tt></td></td><td align="right"><img src="images/cross.gif" border="0" style="cursor:pointer;cursor:hand;" title="Close" onClick="hideG();"></td></tr></table></td></tr></table></td></tr><tr><td>&nbsp;</td></tr><tr><td align="center" valign="top"><table width="90%" align="center" border="0" cellspacing="0" cellpadding="0" class="tableeysText"><tr><td><form name="groupH" method="POST" onSubmit="return handleGroup(this);">';

		output = output+'<fieldset style="border:1px solid #003471;color:#003471;"><legend width="50%">:: Create New Group ::</legend><table width="90%" align="center" border="0" cellspacing="0" cellpadding="0" class="tableeysText"><tr><td colspan="4">&nbsp;</td></tr><tr><td colspan="4" valign="top">Group Name : <input type="text" id="groupName" name="groupName" class="txtboxblack" size="20" maxlength="18"> Ex. Friends, Biz and So on</td></tr><tr><td colspan="4">&nbsp;</td></tr>';
		output = output+'<tr height="30"><td colspan="2" style="color: #003471;">Quick Individual list :</td><td></td><td style="color: #003471;">Assign Individuals in This Group : </td></tr>';
		output = output+'<tr><td width="45%" colspan="2"><select multiple name="gemail" size="6	" class="txtboxblack">';
		var len = emails.length;
		for(var i=0;i<len-1;i++)
		{
			output = output+'<option value="'+emails[i]+'">'+emails[i]+'</option>';		
		}
		output = output+'</select></td><td width="5%" align="left"><a href="javascript:void(0);" onClick="addToGroup(document.groupH.gemail,document.groupH.gList);" class="eys_bdaytxt"><b>&gt;&gt;</b></a></td>';
		
		output = output+'<td><TEXTAREA name="gList" rows="5" wrap="PHYSICAL" cols="28" SIZE="0" class="txtboxblack" readOnly="true"></TEXTAREA></td></tr>';	
		output = output+'<tr height="30"><td colspan="4" style="color: #003471;" nowrap>Select Individual and Click (>>)</tt> to Add.</td></tr><tr><td colspan="4">&nbsp;</td></tr>';

		output = output+'<tr><td colspan="4" align="center"><input type="submit" name="submit" value="Create Group" class="button5" style="width:100px;" title="Create Group"></td></tr>';

		output = output+'<tr><td colspan="4">&nbsp;</td></tr></table></fieldset>';
		
		output = output+'</form></td></tr></table>';

		var temp = document.getElementById('forGroup').value;
		if(temp==='yes') // FOR SHOWING GROUPS
		{
			output = output+'<br><form name="updateGroup" method="POST" action="address_book.php" onSubmit="return updateGroupMe(this);"><table width="90%" align="center" border="0" cellspacing="0" cellpadding="0" class="tableeysText"><tr><td>';

			output = output+'<fieldset style="border:1px solid #003471;color:#003471;"><legend width="50%">:: Manage Existing Group ::</legend><table width="90%" align="center" border="0" cellspacing="0" cellpadding="0" class="tableeysText"><tr><td colspan="4">&nbsp;</td></tr><tr><td colspan="2" valign="top" id="forGSel" nowrap>Select Group : ';

			output = output+'<select name="gSelect" id="gSelect" class="txtboxblack" onChange="fetchGroupData(this)"><option value="">Select</option>';
			var grouplen = groupArray.length;
			var dLen = delGVal.split("~");

			for(var i=0;i<grouplen;i++)
			{	
				if(dLen.length>1)
				{
					if (delGVal.indexOf("~"+groupArray[i]+"~") <0)
					{
							output = output+'<option value="'+groupArray[i]+'">'+groupArray[i]+'</option>';
					}
				}
				else
				{
					output = output+'<option value="'+groupArray[i]+'">'+groupArray[i]+'</option>';
				}
			}
			output = output+'</select></td><td colspan="2" valign="top" align="center" id="waitid">&nbsp;</td></tr><tr><td colspan="4">&nbsp;</td></tr>';

			output = output+'<tr height="30"><td colspan="2" style="color: #003471;">Group Address list :</td><td></td><td style="color:#003471;">Quick Individual Address list :</td></tr>';
			output = output+'<tr><td width="45%" colspan="2" valign="top"><TEXTAREA name="gList1" id="gList1" rows="5" cols="28" wrap="PHYSICAL" SIZE="0" class="txtboxblack"></TEXTAREA>';
			output = output+'</td><td width="8%" align="center"><a href="javascript:void(0);" onClick="addToGroup1(document.updateGroup.gemail1,document.updateGroup.gList1);" class="eys_bdaytxt"><b>&lt;&lt;</b></a></td><td valign="top"><select multiple name="gemail1" size="6" class="txtboxblack">';

			var len = emails.length;
			for(var i=0;i<len-1;i++)
			{
				output = output+'<option value="'+emails[i]+'">'+emails[i]+'</option>';		
			}
			output = output+'</select></td></tr><tr><td colspan="4">&nbsp;</td></tr>';

			output = output+'<tr height="30"><td width="45%" colspan="4" style="color: #003471;">Select Individual and Click <tt>(<<)</tt> to Add in Existing Group or Delete Individuals Group.</td></tr><tr><td colspan="4">&nbsp;</td></tr>';

			output = output+'<tr><td colspan="4" align="center"><input type="submit" name="subme" id="subme" value="Update Group" disabled class="button5" title="Update Group" style="width:100px;">&nbsp;&nbsp;<input type="button" name="deleteG" id="deleteG" value="Delete Group" title="Delete Group" disabled class="button5" style="width:100px;" onClick="deleteGroup();"></td></tr>';

			output = output+'<tr><td colspan="4">&nbsp;</td></tr></table></fieldset>';
		
			output = output+'</td></tr></table></form>';	
		}

		output = output+'</td></tr><tr><td>&nbsp;</td></tr></table></td><td width="1" bgcolor="#D0D0D0"><img src="images/zero.gif" width="1" height="1"></td></tr><tr bgcolor="#D0D0D0"><td colspan="3"><table width="100%"  border="0" cellspacing="0" cellpadding="0"><tr><td width="1%"><img src="images/tab_botlft.gif" width="10" height="7"></td><td width="98%" background="images/tab_botmid.gif"><img src="images/tab_botmid.gif" width="3" height="7"></td><td width="1%"><img src="images/tab_botrht.gif" width="9" height="7"></td></tr></table></td></tr></table>';

		obj.innerHTML = output;
	}
}
function hideG()
{
  var obj = document.getElementById('showG');
  obj.innerHTML = '';
}
function addToGroup(from,to)
{
	var val=to.value;
	var flag= false;
	for (var i=0; i<from.options.length; i++)
	{
		var o = from.options[i];
		if (o.selected) 
		{
			val +=  o.value+',';
			flag=true;
		}
	}
	if(!flag)
		alert('Please Select at Least one Address From Quick Individual list.')
	else
		to.value = val;
}
function addToGroup1(from,to)
{
	var val=to.value;
	
	if(val!='')
	{
		var flag= false;
		
		if(!isValidData(val))	/* This if condition are added by Manoj */
		{
			val = '';
			alert('You have entered wrong email address or you have not added a comma(,) after each email address.\nPlease Correct Wrong Entry(s).')
			return false;
		
		}else{				/* This if condition are added by Manoj */
		
			for (var i=0; i<from.options.length; i++)	/* This is old */
			{
				var o = from.options[i];
				if (o.selected) 
				{
					val +=  o.value+',';
					flag=true;
				}
			}
			if(!flag)
			{
				alert('Please Select at Least one Address From Quick Individual list.')
			}
			else
			{
				to.value = val;
			}							/* This is old */
		}
	}
	else if(val=='' && document.getElementById('gSelect').selectedIndex <=0)
		alert('Please Select a Group to Update/Delete.')
	else if(val=='' && from.selectedIndex>=0)
	{
		var flag= false;
		for (var i=0; i<from.options.length; i++)
		{
			var o = from.options[i];
			if (o.selected) 
			{
				val +=  o.value+',';
				flag=true;
			}
		}
		if(!flag)
			alert('Please Select at Least one Address From Quick Individual list.')
		else
			to.value = val;
	
	}
	else if(val=='' && from.selectedIndex<0)
			alert('Please Select at Least one Address From Quick Individual list.')

}
function updateGroupMe(frm)
{
   if(!isValidData(frm.gList1.value))
	{
		alert('You have entered wrong email address or you have not added a comma(,) after each email address.\nPlease Correct Wrong Entry(s).')
		return false;
	}
	return true;
}
function handleGroup(frm)
{
	if(mytrim(frm.groupName.value)=='')
	{
		alert('Please Enter Group Name.')
		frm.groupName.focus();
		return false;
	}
	else if(frm.gList.value=='')
	{
		alert('Please Enter at Least one Address in this Group.')
		return false;	
	}
	else if(!isValidData(frm.gList.value))
	{
		frm.gList.value = '';
		alert('You have entered wrong email address or you have not added a comma(,) after each email address.\nPlease Correct Wrong Entry(s).')
		return false;
	}
	return true;
}
function fetchGroupData(obj)
{
	if(obj.value!='')
	{	
		http = createRequestObject();
		http.open('get', 'chkdata.php?act=show&group_name='+ obj.value);
		http.onreadystatechange = handleThis;
		http.send(null);

	}
	else
	{
		 document.getElementById('gList1').value = '';
		 document.getElementById('subme').disabled = true;
		 document.getElementById('deleteG').disabled = true;
	}
}
function handleThis()
{
		if(http.readyState == 1)
		{
			document.getElementById('waitid').innerHTML = '<span class="eyardSign_BdayMonth">Please wait....</wait>';
		}
		if(http.readyState == 4)
		{
			 var response = http.responseText;
			 document.getElementById('waitid').innerHTML = '';
			 document.getElementById('gList1').value = response;
			 response = '';
	 		 document.getElementById('subme').disabled = false;
			 document.getElementById('deleteG').disabled = false;
		}
}
function deleteGroup()
{
	var msg = confirm("Are You Sure to Delete this Group.\nOperation can't be Reverted.");
	if(msg)
	{
		var gVal = document.getElementById('gSelect').value;
		http = createRequestObject();
		http.open('get', 'chkdata.php?act=deleteG&group_name='+ gVal);
		http.onreadystatechange = deleteThis;
		http.send(null);
	}
}
function deleteThis()
{
	if(http.readyState == 1)
	{
		document.getElementById('waitid').innerHTML = '<span class="eyardSign_BdayMonth">Please wait....</span>';
	}
	if(http.readyState == 4)
	{
		 var response = http.responseText;
		 var sObj = document.getElementById('gSelect');
		 var index = sObj.selectedIndex;
		 var delVal = document.getElementById('gSelect').options[index].value;
		 document.getElementById('waitid').innerHTML = '<span class="eyardSign_BdayMonth">Group Deleted Successfully.</span>';
		 sObj.options[index]=null;
		 document.getElementById('gList1').value = '';
		 document.getElementById('subme').disabled = true;
		 document.getElementById('deleteG').disabled = true;
		 if(parseInt(response)==0)
		 {
		    document.getElementById('forGroup').value = 'NO';
			document.getElementById('gSelect').options[index]=null;
		 }
		 else
		 {
			if(document.getElementById('delG').value != '')
				document.getElementById('delG').value += '~'+delVal;
			else
				document.getElementById('delG').value = delVal;
		 }
 		 response = '';
	}
}

/******************************************************************
*		Function to fetch cards when we select cards from dropdown 
*******************************************************************/
function fetchCardData(obj)
{	
	if(obj.value!='')
	{	
		var strv = obj.value.split("~");
		http = createRequestObject();
		http.open('get', '../chkdata.php?change=1&card_id='+ strv[0]);
		http.onreadystatechange = handleCard;
		http.send(null);

	}
	else
	{
		 document.getElementById('shwCardThumb').innerHTML = '';
	}
}
function handleCard()
{	
		if(http.readyState == 1)
		{
			document.getElementById('shwCardThumb').innerHTML = '<span class="eyardSign_BdayMonth">Please wait....</wait>';
		}
		if(http.readyState == 4)
		{
			 var response = http.responseText;
			 var strHTML = '';
			 strHTML = '<table width="100%" cellpadding="0" cellspacing="0"><tr><td width="3%">&nbsp;</td><td width="35%" valign="middle">Your Selected Card</td><td width="3%" height="23">';
			 strHTML += '<div align="right" style="margin-right:4px;"><div align="right">:</div></div></td>';
			 strHTML += '<td valign="top" style="margin-right:8px;">&nbsp;&nbsp;'+response+'</td></tr></table>';
			
			 document.getElementById('shwCardThumb').innerHTML = '';
			 document.getElementById('shwCardThumb').innerHTML = strHTML;
			 response = '';

		}
}

/*
*		End from Here
*/