// soubor nbx_locator.js/* AJAX pro interaktivni objednavkovy formular a lokator pripojenych mist  * se siti NETBOX. Skript je potreba pro spravnou funkcnost souboru  * objednavka.php (styly jsou v nbx_konfigurator.css) * Pokud si uzivatel vypne javascript, bude aktivni ne tolik interaktivni  * verze bez Ajaxu.  *//* FUNKCE *********************************************************************/function do_fill_noteSpan(fillin){  elem = document.getElementById("noteSpan");  elem.innerHTML = fillin;  //alert(fillin);}/* FUNKCE *********************************************************************//* sendXmlHttpRequest(serviceReq, method, url, content, headers) * @param funkce serviceReq - zajistuje obsluhu pri zmene stavu pozadavku,  *  dostane parametr s XMLHttp objektem * @param string method - GET|POST|... * @param string url - URL pozadavku * @param string content - telo zpravy * @param array headers - pole predanych hlavicek ve tvaru {'hlavicka': 'obsah'} * @return - true pri uspechu, jinak false */function sendXmlHttpRequest(serviceReq, method, url, content, headers){ // ActiveXObject pro IE, ostatni (Firefox, Safari) XMLHttpRequest var xmlhttp=(window.XMLHttpRequest ? new XMLHttpRequest : (window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : false));  // nastala chyba if(!xmlhttp) {  return false;  // konec }  xmlhttp.open(method, url); xmlhttp.onreadystatechange=function() {  serviceReq(xmlhttp); };  if(headers) {  for(var key in headers)  {   xmlhttp.setRequestHeader(key, headers[key]);  } } xmlhttp.send(content);  return true;  // uspech}/* locationProcess(type, dropDown) * @param string type - mesto, cast, ulice * @param dropDown - this (select) * @return - true pri uspechu, jinak false */function locationProcess(type, dropDown){ if(dropDown!=null){   // smazeme index ktery uz nebude potreba   if(dropDown.options[0].value=='prvni')   {    dropDown.remove(dropDown.options[0]);   }      if(type=='cislo')   {   return true;   }      var typeOfDropdown;   var elemId=dropDown.options[dropDown.selectedIndex].value;  }  // zjisti ktery je nasledujici dropdown switch(type) {  // zakaze dropdown  case 'mesto':   typeOfDropdown='cast';   ClearSelect(document.getElementsByName('ulice').item(0));   ClearSelect(document.getElementsByName('cislo').item(0));   x_echo_location_note(elemId, do_fill_noteSpan);   break;  case 'cast':   typeOfDropdown='ulice';   ClearSelect(document.getElementsByName('cislo').item(0));   break;  case 'ulice':   typeOfDropdown='cislo';   break;     case 'storeCislo':   typeOfDropdown='storeCislo';   break;  case 'stavajici':  typeOfDropdown='stavajici';     break;  } // odeslání požadavku na aktualizaci dat if(!sendXmlHttpRequest(locationService, 'GET', '../include/obj_processLocation.php?type='+typeOfDropdown+'&id='+elemId)) {  return false;  // fce vratila false, takze chyba a konec }  // zakaze dropdown if(type!='storeCislo' && type!='stavajici') // pokud chceme pouze ulozit,tak nezasedavame selectboxy  document.getElementsByName(typeOfDropdown).item(0).disabled=true; return true;  // uspech}/* locationService(xmlHttp) * @param xmlHttp - je XMLHttpRequest */function locationService(xmlHttp){ if(xmlHttp.readyState==4) {  var DDtype=xmlHttp.responseXML.getElementsByTagName('type').item(0).getAttribute('typeValue');  var DropDown=document.getElementsByName(DDtype).item(0);    var itemName=xmlHttp.responseXML.getElementsByTagName('item');    //alert(itemName);  /*  if (itemName=='storeCislo' || itemName=='stavajici') // pokud jsme dostali zpet 'store', tak nic nemenime pouze jsme ulozili stav    return;  */    var i=itemName.length;    var j=0;  // vymaze dropdown  if(DropDown.options.length>0)  {   ClearSelect(DropDown);   DropDown.options[0].text='Vyberte';  }    // nacte hodnoty z XML  while(j<i)  {   var opToAdd=document.createElement('option');   opToAdd.text=itemName[j].firstChild.data;   opToAdd.value=itemName[j].getAttribute('idValue');   try   {    DropDown.add(opToAdd, null);  // standards compliant   }   catch(ex)   {    DropDown.add(opToAdd);  // IE only   }   j++;  }    // povoli dropdown  document.getElementsByName(DDtype).item(0).disabled=false; }}/* ClearSelect(selObj) slouzi k vymazani comboboxu * @param selObj je html element comboboxu  */function ClearSelect(selObj){ while(selObj.options.length) {  selObj.remove(0); } var toAdd=document.createElement('option');  toAdd.text='-'; toAdd.value='prvni';  try {  selObj.add(toAdd, null);  // standards compliant } catch(ex) {  selObj.add(toAdd);  // IE only }  selObj.disabled=true;}