// JavaScript Document

function remove_all_options(select_id){
  //-- remove all options firs
  var elSel = document.getElementById(select_id);
  for (i = elSel.length - 1; i>=0; i--) {
      elSel.remove(i);
  }	
}

//-- dodaje option element u select objekat
function appendOptionLast(select_id, opt_text, opt_val)
{
 
  var elSel = document.getElementById(select_id);
  var elOptNew = document.createElement('option'); 
  
  elOptNew.text = opt_text;
  elOptNew.value = opt_val;
 
  try {
    elSel.add(elOptNew, null); // standards compliant; doesn't work in IE
  }
  catch(ex) {
    elSel.add(elOptNew); // IE only
  }
}




	  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_subregions':
							//alert(httpRequest.responseText);
							rez=httpRequest.responseText;
							
							//alert(field_id);
							
							//remove_all_options('subregion_id');
							remove_all_options(field_id);
							
							if (rez.indexOf('|') != -1 ) {
								
								//alert("IMA PODREGIONA");
								document.getElementById('subregion_div').style.display='block';
								opcije=rez.split("#");
							
			
								for (x in opcije){
									
									opcija=opcije[x];
									//alert('opcija:'+opcija);
									delovi=opcija.split("|");
									//appendOptionLast('subregion_id', delovi[1], delovi[0])
									appendOptionLast(field_id, delovi[1], delovi[0])
									
								}
							}
							else{
								//alert("NEMA PODREGIONA");
								document.getElementById('subregion_div').style.display='none';
								
							}
							//alert(opcije.length);
							
							//alert(test);
							
						break;
						
						
						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 (document.getElementById(field_id)) {
								if (httpRequest.responseText == 0){
									//alert('field id:'+field_id);
									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 'update_link_div_region':
							
							//alert(httpRequest.responseText);
							document.getElementById(field_id).innerHTML = 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 if (httpRequest.responseText == 2)
							{
								document.getElementById(field_id+'_1').style.visibility='visible';
								document.getElementById(field_id+'_2').style.visibility='hidden';
							}
							else if (httpRequest.responseText == 3)
							{
								document.getElementById(field_id+'_1').style.visibility='hidden';
								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 if (httpRequest.responseText == 2)
							{
								document.getElementById(field_id+'_1').style.display='block';
								document.getElementById(field_id+'_2').style.display='none';
								var chk = document.getElementsByName('furniture_material_ids[]');
								for (i = 0; i < chk.length; i++)
									chk[i].checked = false ;
							}
							else if (httpRequest.responseText == 3)
							{
								document.getElementById(field_id+'_1').style.display='none';
								document.getElementById(field_id+'_2').style.display='block';
								document.getElementById('furniture_style_id').value=0;								
							}	
							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.');
        }
      }
		}

