var row=0;
var row_cate = 0;
var row_type = 0;
var add_cate = true;
var listTypes = "";
var countcatenameID = 0;
function getURI(pathfile)
{
	var uri = location.href;
	var startIndex;
	if (null != uri.match("file:///") )
	startIndex = 8;
	if (null != uri.match("http://") )
	startIndex = 7;
	if (null != uri.match("https://") )
	startIndex = 8;
	var endIndex = uri.indexOf("/", startIndex);
	var domainRoot = uri.substring(0, endIndex);
	return domainRoot+"/"+pathfile;
}
function ajaxLoadDataFiles(tagId, page)
{
	var xmlhttp;

	if (window.XMLHttpRequest)
	  {
	  // code for IE7+, Firefox, Chrome, Opera, Safari
	  xmlhttp=new XMLHttpRequest();
	  }
	else if (window.ActiveXObject)
	  {
	  // code for IE6, IE5
	  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	
	xmlhttp.onreadystatechange=function()
	{
	if(xmlhttp.readyState==4)
	  {
	  document.getElementById(tagId).innerHTML= xmlhttp.responseText;
	  }
	}
	xmlhttp.open("GET",getURI(page),true);
	xmlhttp.send(null);

}

function ajaxDelList(tagId, page)
{
	var xmlhttp;
	listTypes = "";
	if (window.XMLHttpRequest)
	  {
	  // code for IE7+, Firefox, Chrome, Opera, Safari
	  xmlhttp=new XMLHttpRequest();
	  }
	else if (window.ActiveXObject)
	  {
	  // code for IE6, IE5
	  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	
	xmlhttp.onreadystatechange=function()
	{
	if(xmlhttp.readyState==4)
	  {
		listTypes = xmlhttp.responseText;		
		delList();
	  }
	}
	xmlhttp.open("GET",getURI(page),true);
	xmlhttp.send(null);

}

function delList()
{
	var tableDel = document.getElementById('types_list_selected');
	var trs = tableDel.getElementsByTagName('tr');
	var types = tableDel.getElementsByTagName('input');
	var i;
	var tr;
	for (i = 1; i < trs.length; i++){
		tr = trs[i];
	    var index_of = "," + types[i + i-1].value + ",";
		if (listTypes.indexOf(index_of) != -1){
			tr.parentNode.removeChild(tr);
			trs = tableDel.getElementsByTagName('tr');
			types = tableDel.getElementsByTagName('input');
			i = 0;
		}

	}
}
function ajaxAddList(table, page)
{
	var xmlhttp;
	listTypes = "";
	if (window.XMLHttpRequest)
	  {
	  // code for IE7+, Firefox, Chrome, Opera, Safari
	  xmlhttp=new XMLHttpRequest();
	  }
	else if (window.ActiveXObject)
	  {
	  // code for IE6, IE5
	  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	
	xmlhttp.onreadystatechange=function()
	{
	if(xmlhttp.readyState==4)
	  {
		listTypes = xmlhttp.responseText;		
		addList(table);
	  }
	}
	xmlhttp.open("GET",getURI(page),true);
	xmlhttp.send(null);

}
function addList(table)
{
	var typeArr = listTypes.split("}");
    for( var i = 0; i < typeArr.length-1; i++){
		var tr = og_addTR( table );
		tr.setAttribute("class","row_" + row);
		row = 1 - row;
		tr.innerHTML = typeArr[i];

	}
}
function og_addTR( table ){
	var tr = table.insertRow(table.rows.length) ;
	
	return tr
}

function og_addTD( tr ){
	var td = document.createElement("td");
	if ( tr != null ) { tr.appendChild(td) };
	return td
}
function checkItemExits(table, value)
{
  var itemValue = table.getElementsByTagName('input');
  for(var i = 0; i <  itemValue.length; i++){
    if (itemValue[i].type == 'hidden' && value == itemValue[i].value ){
     return false;
    }
  }
  return true;
}

function ogAddRow(table, string1, string2, county_id){

  if (county_id != ''){
   if (checkItemExits(table, county_id)){
	var tr = og_addTR( table );
	tr.setAttribute("class","row_" + row);
	row = 1 - row;
	var td = og_addTD( tr );
	td.innerHTML = string1;
	td=	og_addTD( tr );
	td.innerHTML = string2;
	td= og_addTD( tr );
	td.setAttribute("align", "center");
	td.innerHTML = '<input type="button"  name="delRow"  value="&nbsp;x&nbsp;" onclick="ogDelRow(this.parentNode.parentNode)"/>' + '<input type="hidden" name="counties[]" value="' + county_id + '">';
	return tr
   }else{
    alert('Counties existed.');
    return null;
   }
  }
  alert('Can not add counties.');
  return null;
}

function ogAddCategoriesRow(table, string1,  cate_id){
  add_cate = false;
  if (cate_id != ''){
   if (checkItemExits(table, cate_id)){
    add_cate = true;
	var tr = og_addTR( table );
	tr.setAttribute("class","row_" + row_cate);
	row_cate = 1 - row_cate;
	var td = og_addTD( tr );
	td.innerHTML = string1;
	td= og_addTD( tr );
	td.setAttribute("align", "center");
	td.innerHTML = '<input type="button"  name="delRow"  value="&nbsp;x&nbsp;" onclick="ogDelCateRow(this.parentNode.parentNode,' + cate_id + ')"/>' + '<input type="hidden" name="categories[]" value="' + cate_id + '">';
	ajaxAddList(document.getElementById('types_list_selected'), 'inc/AJAX_GETLISTTYPES.php?task=addlist&cate='+cate_id);
	return tr
   }else{
    alert('categories existed.');
    return null;
   }
  }
  alert('Can not add categories.');
  return null;
}

function getCateName(showOnId, page){
	var xmlhttp;
	if (window.XMLHttpRequest)
	  {
	  // code for IE7+, Firefox, Chrome, Opera, Safari
	  xmlhttp=new XMLHttpRequest();
	  }
	else if (window.ActiveXObject)
	  {
	  // code for IE6, IE5
	  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	
	xmlhttp.onreadystatechange=function()
	{
	if(xmlhttp.readyState==4)
	  {
		document.getElementById(showOnId).innerHTML = xmlhttp.responseText;		

	  }
	}
	xmlhttp.open("GET",getURI(page),true);
	xmlhttp.send(null);

}

function ogAddTypesRow(table, string1,  type_id){

  if (type_id != ''){
   if (checkItemExits(table, type_id)){
	var tr = og_addTR( table );
	
	tr.setAttribute("class","row_" + row_type);
	row_type = 1 - row_type;
	var td = og_addTD( tr );
	td.innerHTML = string1;
	td= og_addTD( tr );
	td.setAttribute("align", "left");
	var catNameTagId = 'cate_name_'+countcatenameID++;
	td.innerHTML = '<div id="'+catNameTagId+'"></div>';
	var cateItems = document.getElementById('categories_list_selected').getElementsByTagName('input');
	var cateList = "";
    for(var i = 0; i < cateItems.length; i++){
		if (cateItems[i].type == 'hidden'){
			if (cateList == ""){
				cateList = cateItems[i].value;
			}else{
				cateList += "," + cateItems[i].value;
			}
		}
	}

    getCateName(catNameTagId, 'inc/AJAX_GETLISTTYPES.php?task=getCateName&type='+type_id+'&catelist='+cateList);
	var td = og_addTD( tr );	
	td.setAttribute("align", "center");
	td.innerHTML = '<input type="button"  name="delRow"  value="&nbsp;x&nbsp;" onclick="ogDelRow(this.parentNode.parentNode)"/>' + '<input type="hidden" name="contractorTypes[]" value="' + type_id + '">';
	return tr
   }else{
    alert('type existed.');
    return null;
   }
  }
  alert('Can not add type.');
  return null;
}

function ogDelRow( tr ) {
	tr.parentNode.removeChild( tr)	;
}

function ogDelCateRow( tr, value ) {
	tr.parentNode.removeChild( tr )	;
    getTypesList('select_list_types', document.getElementById('categories_list_selected'));
	ajaxDelList(document.getElementById('categories_list_selected'), 'inc/AJAX_GETLISTTYPES.php?task=dellist&cate='+value);
}

function getCountiesList(v_state){
  ajaxLoadDataFiles('select_list', 'inc/AJAX_GETLISTCOUNTY.php?state='+v_state);
}
function getTypesList(obShow, table)
{
  if (add_cate){
	  var categories = "0";
	  var categories_list = table.getElementsByTagName('input');

	  for(var i = 0; i <  categories_list.length; i++){
		if (categories_list[i].type == 'hidden'){
    		categories = categories + "," + categories_list[i].value;
		}
  	  }
	  ajaxLoadDataFiles(obShow, 'inc/AJAX_GETLISTTYPES.php?cate='+categories);

  }
}
function getTextOption(obselect)
{
	var mysel  = document.getElementById(obselect);
    if (mysel.options.length > 0){
		var seltxt = mysel.options[mysel.selectedIndex].text;
		return seltxt;
   	}
    return "";
}