// JavaScript Document
	  function makeRequest(url, post_parametri, code, field_id, disable_submit, async) 
		{
		// code sluzi da se raspoznaju razliciti Httprequest pozivi... pa prema tome i razlicit response se obavlja na osnovu toga
		// async govori da li je asinhroni poziv ili ne... ako nije asinhroni, onda se ceka sa izvrsavanjem
		
		var async = (async == null) ? true : async;				// defaulr vrednost za asyunc: true
		
		//alert(post_parametri);
		
        var httpRequest;

        if (window.XMLHttpRequest) 
				{ // Mozilla, Safari, ...
            httpRequest = new XMLHttpRequest();
            if (httpRequest.overrideMimeType) {
                httpRequest.overrideMimeType('text/xml');
                // See note below about this line
            }
        } 
        else if (window.ActiveXObject) { // IE
            try 
						{
                httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
            } 
            catch (e) {
                           try {
                                httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
                               } 
                             catch (e) {}
                          }
                                       }

        if (!httpRequest) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }
       
	   
	   httpRequest.onreadystatechange = function() { response(httpRequest, code, field_id, disable_submit); };
	  
       httpRequest.open('POST', url, async);
	   httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');		// zbog post requesta
	   //parametri='status='+status+'&id='+id;
       httpRequest.send(post_parametri);

    }

    function response(httpRequest, code, field_id, disable_submit) 
		{

    	if (httpRequest.readyState == 4) 
			{
      	if (httpRequest.status == 200) 
				{
        	//alert(httpRequest.responseText);
					switch (code) 
					{
						case 'update_subcategory_div': 
							if (field_id == "subcategory_div")
							{
								document.getElementById('subsubcategory_div').style.display='none';
								document.getElementById('subsubsubcategory_div').style.display='none';								
							}
							else if (field_id == "subsubcategory_div")
								document.getElementById('subsubsubcategory_div').style.display='none';								
							else if (field_id == "subcategory_div_2")
							{
								document.getElementById('subsubcategory_div_2').style.display='none';
								document.getElementById('subsubsubcategory_div_2').style.display='none';
							}
							else if (field_id == "subsubcategory_div_2")
								document.getElementById('subsubsubcategory_div_2').style.display='none';
								
							//alert(httpRequest.responseText);
							if (httpRequest.responseText == 0)
								document.getElementById(field_id).style.display='none';
							else
							{
								document.getElementById(field_id).style.display='block';
								document.getElementById(field_id).innerHTML = httpRequest.responseText;								
								
							}
							//httpRequest.responseText
						break;	
						
						case 'valid_field':
							
							if (httpRequest.responseText != 0)
							{
								//alert (httpRequest.responseText);
								document.getElementById(field_id+'_error').style.display='block';
								document.getElementById(field_id+'_error').innerHTML = httpRequest.responseText;
								if (field_id == "password")
								{
									document.getElementById(field_id).value = '';
									document.getElementById(field_id+'2').value = '';
								}
								if (disable_submit == 1)
									document.getElementById('Submit').disabled = true;							
							}
							else
							{
								document.getElementById(field_id+'_error').style.display='none';
								if (disable_submit == 1)
									document.getElementById('Submit').disabled = false;
							}
						break;
						
						case 'update_link_div':
							document.getElementById(field_id).innerHTML = httpRequest.responseText;
							if (field_id.indexOf("_2") != -1) 
								document.getElementById('category_link_2').value = httpRequest.responseText;
							else
								document.getElementById('category_link').value = httpRequest.responseText;
						break;
						
						case 'show_attributes':
							if (httpRequest.responseText == 1)
							{
								document.getElementById(field_id+'_1').style.visibility='visible';
								document.getElementById(field_id+'_2').style.visibility='visible';								
							}
							else
							{
								document.getElementById(field_id+'_1').style.visibility='hidden';
								document.getElementById(field_id+'_2').style.visibility='hidden';								
							}						
						
						break;
						
						case 'show_admin_attributes':
							if (httpRequest.responseText == 1)
							{
								document.getElementById(field_id+'_1').style.display='block';
								document.getElementById(field_id+'_2').style.display='block';									
							}
							else
							{
								document.getElementById(field_id+'_1').style.display='none';
								document.getElementById(field_id+'_2').style.display='none';
								document.getElementById('furniture_style_id').value=0;
								var chk = document.getElementsByName('furniture_material_ids[]');
								for (i = 0; i < chk.length; i++)
									chk[i].checked = false ;
							}	
						break;
						
						case 'update_submit_button':
							//document.getElementById(field_id).innerHTML = 'Show results <strong>'+httpRequest.responseText+'</strong>';
							document.getElementById(field_id).innerHTML =httpRequest.responseText;
						break;		
						
						case 'update_tab_content':
							document.getElementById(field_id).innerHTML = httpRequest.responseText;
						break;
						
						case 'update_save_link':
							document.getElementById(field_id).innerHTML = httpRequest.responseText;
							if (document.getElementById("li_holder" +field_id.substring(9)).className == "saved")
								document.getElementById("li_holder" +field_id.substring(9)).className = "not_saved";
							else
								document.getElementById("li_holder" +field_id.substring(9)).className = "saved";
						break;
						
						case 'update_numbers':
							document.getElementById(field_id).innerHTML = httpRequest.responseText;
						break;
												
					}
				
				//update_cost();			// after getting and setting new values, update cost fields
				
				//document.getElementById("status_report").innerHTML = httpRequest.responseText;
				} 
				else 
				{
        	//alert('There was a problem with the request.');
        }
      }
		}
