var _layerToChange;
var _urlForMainDiv;
var _refreshWholePage;
function makePOSTRequest(url, parameters, layerToChange) {
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
      _layerToChange = layerToChange;
      
      
      http_request.open('POST', url, true);
      http_request.onreadystatechange = callbackAjaxSubmit;
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_request.setRequestHeader("Content-length", parameters.length);
      http_request.setRequestHeader("Connection", "keep-alive");
      http_request.send(parameters);
      
}

function callbackAjaxSubmit() {
	if (http_request.readyState == 4){
		if (http_request.status != 200) {
			alert( 'Error (' + http_request.status + '): ' + http_request.statusText );
		} else {
			
			if(_layerToChange!=null) document.getElementById(_layerToChange).innerHTML = http_request.responseText;
			if (_urlForMainDiv!=null && _urlForMainDiv!='') 
				if (_refreshWholePage==null || !_refreshWholePage) {
					$('#bodyDiv').load(_urlForMainDiv,'',function(){/*tb_init('a.thickbox, area.thickbox, input.thickbox');*/fdTableSort.initEvt();tablePaginater.init();} );
				}else {
					document.location.href = _urlForMainDiv;
				}
			
			
			
		}
	}
}

function submitForm(urlToPost, formName, layerToChange, urlForMainDiv, refreshWholePage) {
	_urlForMainDiv = urlForMainDiv;
	_refreshWholePage = refreshWholePage;
	
	makePOSTRequest(urlToPost, populateSubmitingParams(formName), layerToChange);
}

function populateSubmitingParams(formName) {
	obj = document.forms[formName];
	
	var returnStr = "";
	
	var fields = obj.getElementsByTagName('INPUT');
	for(var i=0;i<fields.length;i++) {
		field = fields[i];
		if (field.getAttribute('type')!='checkbox') {
			returnStr+=field.getAttribute('name')+"="+encodeURI( field.value )+"&" ;
		}else {
			if(field.checked){
				returnStr+=field.getAttribute('name')+"="+encodeURI( field.value )+"&" ;
			}else {
				returnStr+=field.getAttribute('name')+"="+"&" ;
			}
		}
	}
	
	var fields = obj.getElementsByTagName('TEXTAREA');
	for(var i=0;i<fields.length;i++) {
		field = fields[i];
		returnStr+=field.getAttribute('name')+"="+encodeURI( field.value )+"&" ;
		
	}

	fields = obj.getElementsByTagName('SELECT');
	for(var i=0;i<fields.length;i++) {
		field = fields[i];
		for (y=0; y<field.options.length; y++) {
    		if (field.options[y].selected) {
      				returnStr+=field.getAttribute('name')+"="+encodeURI( field.options[y].value )+"&" ;
	
    		}
    	}
  	}
	
	fields = obj.getElementsByTagName('CHECKBOX');
	for(var i=0;i<fields.length;i++) {
		field = fields[i];
		if(field.checked){
			returnStr+=field.getAttribute('name')+"="+encodeURI( field.options[field.selectedIndex].value )+"&" ;
		}else {
			returnStr+=field.getAttribute('name')+"="+"&" ;
		}
	}

	fields = obj.getElementsByTagName('RADIO');
	for(var i=0;i<fields.length;i++) {
		field = fields[i];
		returnStr+=field.getAttribute('name')+"="+encodeURI( field.options[field.selectedIndex].value )+"&" ;
	}
	
    
    
	return returnStr;
}

function showChilds(urlToCall,fieldName,fieldValue,fieldToRefresh){   
	 $.ajax({	type: 'GET', 
	 			url: urlToCall, 
	 			data: fieldName+'='+fieldValue, 
	 			success: function(ajaxResponse) {	
	 						removeAllOptions(getLastElementByName(fieldToRefresh));
							var optionsAdded = false;
							var elements = ajaxResponse.split('||');
							for(var no=0;no<elements.length;no++){
								if(elements[no].length==0)continue;
								var items = elements[no].split(/###/gi);
								if (items!=null && items.length>1) addOption(getLastElementByName(fieldToRefresh),trim(items[0]),trim(items[1]));
			
							}	
	 						
	 						
	 					}
	 		});
		 
}
  
function getLastElementByName(elementName) {
	var x=document.getElementsByName(elementName);
	return x[x.length-1];
	
}  
function removeAllOptions(selectbox){
		var i;
		for(i=selectbox.options.length-1;i>0;i--)
		{
			//selectbox.options.remove(i);
			selectbox.remove(i);
		}
	}

function addOption(selectbox, value, text )
	{
		var optn = document.createElement("OPTION");
		optn.text = text;
		optn.value = value;

		selectbox.options.add(optn);
}

function trim(stringToTrim) {
	if(typeof(stringToTrim)!=="undefined") return stringToTrim.replace(/^\s+|\s+$/g,"");
	else return stringToTrim;
}
function ltrim(stringToTrim) {
	if(typeof(stringToTrim)!=="undefined")  return stringToTrim.replace(/^\s+/,"");
	else return stringToTrim;
}
function rtrim(stringToTrim) {
	if(typeof(stringToTrim)!=="undefined")  return stringToTrim.replace(/\s+$/,"");
	else return stringToTrim;
}






