function addField2CRUDTable(){	
	var manageDivCrud = document.getElementById('manageDivCRUD').innerHTML;
	
	var numFields = document.getElementById('numFields').value;
	
	if(!isNumeric(numFields) || numFields==""){		
		alert('Please enter a number');
		return;
	}		
	
	if(manageDivCrud){		
		// remove add fields button		
		var addFieldsDiv = document.getElementById('addFieldsDiv');		
		if(addFieldsDiv){
			addFieldsDiv.innerHTML = '';		}		
		
		var newContent = manageDivCrud;
		
		newContent = newContent.replace('<table>', '');
		newContent = newContent.replace('</table>', '');
		newContent = newContent.replace('<tbody>', '');
		newContent = newContent.replace('</tbody>', ''); 
		
		var tableName = document.getElementById('crudTableName').value;		
		
		for(var i=0; i<numFields; i++) {			
			//newContent += '<tr id="row'+i+'" name="crud_row"><td width="12%"><strong>Name:</strong></td><td width="11%"><input type="text" id="nameField'+i+'" name="nameField'+i+'"/></td><td width="6%"><strong>Type:</strong></td><td width="13%"><select id="typeField'+i+'" name="typeField'+i+'"><option value="int">int</option><option value="double">double</option><option value="numeric">numeric</option><option value="varchar(255)">varchar</option><option value="date">date</option><option value="datetime">datetime</option><option value="timestamp">timestamp</option><option value="text">text</option></select></td><td width="58%"><input type="button" class="button" value="Remove" id="removeField" name="removeField" onclick="javascript:removeField2CRUDTable(\'row'+i+'\');"/></td></tr>';
			newContent += "<tr id=\"row"+i+"\" name=\"crud_row\"><td width=\"12%\"><strong>Name:</strong></td><td width=\"11%\"><input type=\"text\" id=\"nameField"+i+"\" name=\"nameField"+i+"\"/></td><td width=\"6%\"><strong>Type:</strong></td><td width=\"13%\"><select id=\"typeField"+i+"\" name=\"typeField"+i+"\"><option value=\"int\">int</option><option value=\"double\">double</option><option value=\"numeric\">numeric</option><option value=\"varchar(255)\">varchar</option><option value=\"date\">date</option><option value=\"datetime\">datetime</option><option value=\"timestamp\">timestamp</option><option value=\"text\">text</option></select></td><td width=\"58%\"><input type=\"button\" class=\"button\" value=\"Remove\" id=\"removeField\" name=\"removeField\" onclick=\"javascript:removeField2CRUDTable(\'row"+i+"\');\"/></td></tr>"; 			
		}		
		
		newContent = '<table><tbody>'+newContent+'</tbody></table>';
		
		// add the fields to table
		document.getElementById('manageDivCRUD').innerHTML = newContent;		
		// set name of table
		document.getElementById('crudTableName').value = tableName;
		// set hidden num fields
		document.getElementById('hiddenNumFields').value = numFields;
				
	}	
}


function removeField2CRUDTable(fieldID){	
	var removeField = document.getElementById(fieldID);
	
	if(removeField){
		var parentField = removeField.parentNode;
		parentField.removeChild(removeField);
		
		var hiddenNumFields = document.getElementById('hiddenNumFields').value		
		hiddenNumFields -= 1;		
		document.getElementById('hiddenNumFields').value = hiddenNumFields;				
	}
	
	//var fields = document.getElementsByName("crud_row");
	
	var nFields = document.getElementById('hiddenNumFields').value;
	
	if(nFields == 0){
		
		var rowSearch = document.getElementById("row_search_by");
		
		if(rowSearch){
			var parentRow = rowSearch.parentNode;
			parentRow.removeChild(rowSearch);
		}
		
		var content = '<input name="addField" type="button" class="button" id="addField" value="Add fields" onclick="javascript:formCRUDSchema.submit();"/>'+
							   '<input name="numFields" type="text" id="numFields" size="4" maxlength="4" />';
	   					
	   	document.getElementById('addFieldsDiv').innerHTML = content;
	}	
}

function isNumeric(sText){
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
}

// position X and Y of an object in the page
function findPosX(obj){
	var curleft = 0;
	if(obj.offsetParent)
	while(1){
		curleft += obj.offsetLeft;
		if(!obj.offsetParent)
		break;
		obj = obj.offsetParent;
	}
	else if(obj.x)
	curleft += obj.x;
	return curleft;
}

function findPosY(obj){
	var curtop = 0;
	if(obj.offsetParent)
	while(1){
		curtop += obj.offsetTop;
		if(!obj.offsetParent)
		break;
		obj = obj.offsetParent;
	}
	else if(obj.y)
	curtop += obj.y;
	return curtop;
}

// more functions ...
function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
	do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	}
	//return [curleft,curtop];
	return curtop;
}

var curHTML = "";

function showDiv(obj, description){	
	
	//if(navigator.appName == 'Microsoft Internet Explorer'){
		//document.getElementById('description').innerHTML = description;
	//}else
		//document.getElementById('description').innerHTML = description;
		
	curHTML = document.getElementById('public-list').innerHTML;
	//curHTML = curHTML.replace('[[desc]]' , description);
	var crudProductContactUs = document.getElementById('product_crud_contact_us');	
	document.getElementById('public-list').innerHTML = crudProductContactUs.innerHTML.replace('[[desc]]' , description + '<textarea name="description" id="description" style="display:none;">'+addslashes(description)+'</textarea>');
	/*var _left = document.documentElement.clientWidth / 2 - 250 ;
	
	crudProductContactUs.style.position='absolute';	
	crudProductContactUs.style.left= _left+'px';	
	crudProductContactUs.style.top= findPos(obj)+'px';	
	crudProductContactUs.style.backgroundColor='white';	
	crudProductContactUs.style.display='inline';*/	
}

function hiddenDiv(){
	//alert(curHTML);
	document.getElementById('public-list').innerHTML = curHTML;
}

function addslashes(str) {
	str=str.replace(/\'/g,'\\\'');
	str=str.replace(/\"/g,'\\"');
	str=str.replace(/\\/g,'\\\\');
	str=str.replace(/\0/g,'\\0');
	return str;
}

function stripslashes(str) {
	str=str.replace(/\\'/g,'\'');
	str=str.replace(/\\"/g,'"');
	str=str.replace(/\\\\/g,'\\');
	str=str.replace(/\\0/g,'\0');
	return str;
}

function resultsSearchBy(){
	
	var publicListDiv = document.getElementById("public-list");
	
	if(publicListDiv){
		publicListDiv.innerHTML = "";
		publicListDiv.innerHTML = "new content";
	}
}	