// file features.js

/* global declarations */


/* FUNCTIONS *********************************************************************/

/* removeIndex(dd)
 * @param dd - element select
 * @return - void
 */
function removeIndex(dd)
{
 if(dd.options[0].value=='' || dd.options[0].value=='NULL')
 {
  dd.remove(dd.options[0]);
 }
}


/* makeSure(txt)
 * @param txt - output string
 * @return - true if OK, false if canceled
 */
function makeSure(txt)
{
 return (confirm(txt))? true : false;
}


/* orderShowFAddres(this, id)
 *
 * @param this - checkbox 
 * @id - element id to hide or show
 */     
function orderShowFAddres(toto, id)
{
 id.style.display=(!toto.checked)? 'none' : '';
}

/* showLoginFields (toto, id)
 * @param toto - checkbox element
 * @param id  - element to hide or show
 *    
 */
function showLoginFields(toto, id){
		form = '<fieldset><legend>Přihlašovací údaje</legend>';
		form +='<table  class="objednavka" width="100%">';
		form +='<tr>';
			form +='<td width="23%" class="aRight"><strong>Jméno</strong> <span class="cervena">*</span></td>';
			form +='<td><input type="text" name="nickname"  value="" class="input_field" /></td>';
		form +='</tr>';
		form +='<tr>';
			form +='<td class="aRight"><strong>Heslo</strong> <span class="cervena">*</span></td>';
			form +='<td><input type="password" name="password" value="" class="input_field" /> &nbsp;heslo musí být dlouhé aspoň 5 znaků</td>';
		form +='</tr>';
		form +='<tr>';
			form +='<td class="aRight"><strong>Heslo znova</strong> <span class="cervena">*</span></td>';
			form +='<td><input type="password" name="password2" value="" class="input_field" /></td>';
		form +='</tr>';
		form +='<tr>';
		  form +='<td></td>';
		  form +='<td><span class="smallText"><span class="cervena">*</span> povinné údaje</span></td>';
		form +='</tr>';
		
		var elem = document.getElementById(id);
		if(!toto.checked){
			elem.innerHTML = '';
		} else {
			elem.innerHTML = form;
		}
}


/* printCategories(curr, txtMore, txtRem)
 * @param curr - a href element
 * @param txt...  - string with writing
 * 
 */
function printCategories(curr, txtMore, txtRem)
{
 tableId=curr.parentNode.parentNode.parentNode.parentNode.id;
 
 if(tableId.length<1)
 {
  return false;
 }
 
 var i=curr.parentNode.parentNode.rowIndex;
 var x=document.getElementById(tableId).insertRow(i);
 // prvni bunka
 var y=x.insertCell(0);
 y.innerHTML=txtMore;
 y.className='aRight';
 // druha bunka
 var z=x.insertCell(1);
 
 z.innerHTML='<span class="grey">nahrávám...</span>';
 
 x_printCatOptions(printRow);
 
 function printRow(str)
 {
  z.innerHTML=str+' &nbsp;<a class="smazat" href="#" onclick="return removeRow(this);">'+txtRem+'</a>';
 }
 
 return false;
}


/* printDatasheets(curr, txtMore, txtRem)
 * @param curr - a href element
 * @param txt...  - string with writing
 * 
 */
function printDatasheets(curr, txtMore, txtRem)
{
 tableId=curr.parentNode.parentNode.parentNode.parentNode.id;
 
 if(tableId.length<1)
 {
  return false;
 }
 
 var i=curr.parentNode.parentNode.rowIndex;
 var x=document.getElementById(tableId).insertRow(i);
 // prvni bunka
 var y=x.insertCell(0);
 y.innerHTML=txtMore;
 y.className='aRight';
 // druha bunka
 var z=x.insertCell(1);
 
 z.innerHTML='<span class="grey">nahrávám...</span>';
 
 x_printDatasheetOptions(printDSRow);
 
 function printDSRow(str)
 {
  z.innerHTML=str+' &nbsp;<a class="smazat" href="#" onclick="return removeRow(this);">'+txtRem+'</a>';
 }
 
 return false;
}


/* printParameters(curr, txtMore, txtRem)
 * @param curr - a href element
 * @param txt...  - string with writing
 * 
 */
function printParameters(curr, txtMore, txtRem)
{
 tableId=curr.parentNode.parentNode.parentNode.parentNode.id;
 
 if(tableId.length<1)
 {
  return false;
 }
 
 var i=curr.parentNode.parentNode.rowIndex;
 var x=document.getElementById(tableId).insertRow(i);
 // prvni bunka
 var y=x.insertCell(0);
 y.innerHTML=txtMore;
 y.className='aRight';
 // druha bunka
 var z=x.insertCell(1);
 
 z.innerHTML='<span class="grey">nahrávám...</span>';
 
 x_printParamOptions(printRow);
 
 function printRow(str)
 {
  z.innerHTML=str+' &nbsp;<a class="smazat" href="#" onclick="return removeRow(this);">'+txtRem+'</a>';
 }
 
 return false;
}

/* updateValues(curr)
 * @param curr - a href element
 * @param txt...  - string with writing
 * 
 */
function updateValues(curr)
{
 x=curr.nextSibling;
 
 // vybereme obalovaci <span>
 while(x.nodeType!=1 && x.nodeName!='SPAN')
 {
  x=x.nextSibling;
 }
 
 val=x;
 
 while(val.nodeType!=1 && val.nodeName!='SPAN')
 {
  val=val.nextSibling;
 }
 val.className="grey";
 
 sel=val;
 while(sel.nodeType!=1 && sel.nodeName!='SELECT')
 {
  sel=sel.nextSibling;
 }
 sel.disabled=true;
 
 x_printValueOptions(curr.value, printRow);
 
 function printRow(str)
 {
  x.innerHTML=str;
 }
 
 sel.disabled=false;
 val.className="";
 
 return false;
}


/* printInput(curr, txtRem)
 * @param curr - a href element
 * @param txt...  - string with writing
 * @param Bcount - boolean count rows? 
 * 
 */
function printInput(curr, txtRem, Bcount)
{
 tableId=curr.parentNode.parentNode.parentNode.parentNode.id;
 
 if(tableId.length<1)
 {
  return false;
 }
 
 var i=curr.parentNode.parentNode.rowIndex;
 var x=document.getElementById(tableId).insertRow(i);
 // prvni bunka
 var y=x.insertCell(0);
 var desc=new Number(i);
 y.innerHTML=desc.toString()+'.';
 y.className='aRight';
 // druha bunka
 var z=x.insertCell(1);
 
 z.innerHTML='<input type="text" name="val[]" value="" size="25" /> &nbsp;<a class="smazat" href="#" onclick="return removeRow(this);">'+txtRem+'</a>';
 
 return false;
}


/* removeRow(curr)
 * @param curr - a href element
 * 
 */
function removeRow(curr)
{
 tableId=curr.parentNode.parentNode.parentNode.parentNode.id;
 
 if(tableId.length<1)
 {
  return false;
 }
 
 var i=curr.parentNode.parentNode.rowIndex;
 var x=document.getElementById(tableId).deleteRow(i);
 
 return false;
}


/* printToInput(elem, txt)
 * @param elem - input element
 * @param txt  - string with writing
 * 
 */
function printToInput(elem, txt)
{
 if(elem==null)
 {
  return false;
 }
 
 var x=document.getElementById(elem);
 
 if(x.disabled==true)
 {
  return false;
 }
 
 x.value=txt;
 
 return false;
}


/* showHideElement(key, elemID)
 * @param elemID - element ID
 * 
 */
function showHideElem(key, elemID)
{
 if(key==1)
 {
  document.getElementById(elemID).style.display="none";
  document.getElementById(elemID).parentNode.parentNode.className="order_disabled";
 }
 else
 {
  document.getElementById(elemID).parentNode.parentNode.className="";
  document.getElementById(elemID).style.display="";
 }
 
 return false;
}

