/**
#ver 29.05.2008
**/

//press submit button for tableform
function submit_tableform(stask){
        if (document.tableform.task != null) {document.tableform.task.value=stask;}
        if (document.tableform.t != null) {document.tableform.t.value=stask;}
        try {
                document.tableform.onsubmit();
        }
        catch(e){
        }
        document.tableform.submit();
}

//check all for tableform
function checkAll_tableform( n, fldName ) {
        if (!fldName) {fldName = 'cb';}
        var f = document.tableform;
        var c = f.toggle.checked;
        var n2 = 0;
        for (i=0; i < n; i++) {
                cb = eval( 'f.' + fldName + '' + i );
                if (cb) {
                        cb.checked = c;
                        n2++;
                }
        }
}

//for print buttons
function fButtonPrint() {
    if (typeof(window.print) != 'undefined') { window.print();}
}
function fButtonSaveAs(sfile) {
    document.execCommand('SaveAs',null,sfile);
}



//activate one JS tab
function setActiveTab(tabs_uid,n,i_s){
    for (i=1; i<=n; i++) {
        document.getElementById(tabs_uid+"_"+i).style.display = "none";
    }
    document.getElementById(tabs_uid+"_"+i_s).style.display = "block";
}

function ShowHideDiv(sdiv_name){
    if (document.getElementById(sdiv_name).style.display == "none") {
        document.getElementById(sdiv_name).style.display = "block";
    }
    else {
        document.getElementById(sdiv_name).style.display = "none";
    }
}



function previewImg(iform, list, image, base_path ) {
        form = eval( "document."+iform);
        srcList = eval( "form." + list );
        srcImage = eval( "document." + image );
        var fileName = srcList.options[srcList.selectedIndex].text;
        var fileName2 = srcList.options[srcList.selectedIndex].value;
        if (fileName.length == 0 || fileName2.length == 0) {
                srcImage.src = '/images/total/blank.gif';
        } else {
                srcImage.src = base_path + fileName2;
        }
}

function previewImgFromSelect(iform, list, image, base_path ) {
        form = eval( "document."+iform);
        srcList = eval("form."+ list );
        srcImage = eval( "document." + image );
        var fileName = srcList.value;
        if (fileName.length == 0) {
                srcImage.src = '/images/total/blank.gif';
        } else {
                srcImage.src = base_path + fileName;
        }
}

function previewImgCode(iform, list, vtext, base_path ) {
        form = eval( "document."+iform);
        srcList = eval( "form." + list );
        srcText = eval( "form." + vtext );
        srcFullText = eval( "form." + vtext+"_full");
        var fileName = srcList.options[srcList.selectedIndex].text;
        var fileName2 = srcList.options[srcList.selectedIndex].value;
        if (fileName.length == 0 || fileName2.length == 0) {
                srcText.value = '';
        } else {
                srcText.value ='[img]'+base_path + fileName2+'[/img]';
        }
        if (srcFullText) {
                srcFullText.value ='[img from="" comm=""]'+base_path + fileName2+'[/img]';
        }
}
function previewImgSrc(iform, list, vtext, base_path ) {
        form = eval( "document."+iform);
        srcList = eval( "form." + list );
        srcText = eval( "form." + vtext );
        var fileName = srcList.options[srcList.selectedIndex].text;
        var fileName2 = srcList.options[srcList.selectedIndex].value;
        if (fileName.length == 0 || fileName2.length == 0) {
                srcText.value = '';
        } else {
                srcText.value =base_path + fileName2;
        }
}

// returns the array number of the selected radio button or -1 if no button is selected
function getSelectedRadio(buttonGroup) {
   if (buttonGroup[0]) {
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            return i
         }
      }
   } else {
      if (buttonGroup.checked) { return 0; } // if the one button is checked, return zero
   }
   return -1;
}

// returns the value of the selected radio button or "" if no button is selected
function getSelectedRadioValue(buttonGroup) {
   var i = getSelectedRadio(buttonGroup);
   if (i == -1) {
      return "";
   } else {
      if (buttonGroup[i]) {
         return buttonGroup[i].value;
      } else {
         return buttonGroup.value;
      }
   }
}



//return array of checked indexes 0..N
function getSelectedCheckbox(buttonGroup) {
   var retArr = new Array();
   var lastElement = 0;
   if (buttonGroup[0]) {
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            retArr.length = lastElement;
            retArr[lastElement] = i;
            lastElement++;
         }
      }
   } else {
      if (buttonGroup.checked) {
         retArr.length = lastElement+1;
         retArr[lastElement] = 0;
      }
   }
   return retArr;
}

//return array 0..N of checked values. if nothing checked return 0 length array
function getSelectedCheckboxArrayValue(buttonGroup) {
   var retArr = new Array();
   var selectedItems = getSelectedCheckbox(buttonGroup);
   if (selectedItems.length != 0) {
      retArr.length = selectedItems.length;
      for (var i=0; i<selectedItems.length; i++) {
         if (buttonGroup[selectedItems[i]]) {
            retArr[i] = buttonGroup[selectedItems[i]].value;
         } else {
            retArr[i] = buttonGroup.value;
         }
      }
   }
   return retArr;
}

//return "" or "v1,v2,v3"
function getSelectedCheckboxKomaValue(buttonGroup) {
   var rets = "";
   var selectedValues = getSelectedCheckboxArrayValue(buttonGroup);
   if (selectedValues.length != 0) {
       for (var i=0; i<selectedValues.length; i++) {
       if (rets != "") {rets=rets+',';}
        rets=rets+selectedValues[i];
       }
   }
   return rets;
}




// Form specific functions for editting content images. IE work with onload, Opera9 with img cash and resize after img
function popupImg(surl) {
  wh=window.open(surl, 'win2', 'status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width=100,height=100,left=10,top=10,directories=no,location=no');
  wh.document.close();
  wh.document.write('<body>');
  wh.document.write('<script language="javascript">');
  wh.document.write('var vImg = new Image();');
  wh.document.write('vImg.src="'+surl+'";');

  wh.document.write('function resize() {');
  wh.document.write('var i=0;');
  wh.document.write('var w_resize=0;');
  wh.document.write('var h_resize=0;');
  wh.document.write('  if (vImg) {w_resize=vImg.width +35; h_resize=vImg.height+70-i;}');
  wh.document.write('  else {');
  wh.document.write('    if (document.images[0]) {w_resize=document.images[0].width +55; h_resize=document.images[0].height+70-i;}');
  wh.document.write('  }');
  wh.document.write('var w_max=screen.width-50;');
  wh.document.write('var h_max=screen.height-140;');
  wh.document.write('if (w_resize>w_max) {w_resize=w_max;} ');
  wh.document.write('if (h_resize>h_max) {h_resize=h_max;} ');
  wh.document.write('if (w_resize>0) {window.resizeTo(w_resize, h_resize);} ');
  wh.document.write('}');
  wh.document.write('</script>');

  wh.document.write('<img border=0 src="'+surl+'" onload="resize();">');

  wh.document.write('<script language="javascript">');
  wh.document.write('resize();');
  wh.document.write('</script>');

  wh.document.write('</body>');
  wh.focus();
}

function popupDoc(id,vw,vh,scroll) {
  if (! scroll) scroll='no';
  if (! vh) vh=300;
  if (! vw) vw=400;
  if ((vh>0) && (vh<1.01)) vh=Math.floor(screen.availHeight*vh);
  if ((vw>0) && (vw<1.01)) vw=Math.floor(screen.availWidth*vw);
  vleft=Math.floor((screen.availWidth-vw)/2);
  if (vleft<1) vleft=1;
  vtop=Math.floor((screen.availHeight-vh)/2);
  if (vtop<1) vtop=1;
  wh=window.open('/index.php?sr=item&id='+id+'&nt=1&page=0', 'win2', 'status=no,toolbar=no,scrollbars='+scroll+',titlebar=no,menubar=no,resizable=yes,width='+vw+',height='+vh+',top='+vtop+',left='+vleft+',directories=no,location=no');
  wh.focus();
}

function popupHref(shref,vw,vh,vnew_name) {
  if (! vnew_name) vnew_name='win_pop';
  if (! vh) vh=300;
  if (! vw) vw=400;
  vleft=Math.floor((screen.availWidth-vw)/2);
  if (vleft<1) vleft=1;
  vtop=Math.floor((screen.availHeight-vh)/2);
  if (vtop<1) vtop=1;
  wh=window.open(shref, vnew_name, 'status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width='+vw+',height='+vh+',top='+vtop+',left='+vleft+',directories=no,location=no');
  wh.focus();
}





/**
* Pops up a new window in the middle of the screen
*/
function popupWindow(mypage, myname, w, h, scroll) {
        var winl = (screen.width - w) / 2;
        var wint = (screen.height - h) / 2;
        winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
        win = window.open(mypage, myname, winprops)
        if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

// LTrim(string) : Returns a copy of a string without leading spaces.
function ltrim(str)
{
   var whitespace = new String(" \t\n\r");
   var s = new String(str);
   if (whitespace.indexOf(s.charAt(0)) != -1) {
      var j=0, i = s.length;
      while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
         j++;
      s = s.substring(j, i);
   }
   return s;
}

//RTrim(string) : Returns a copy of a string without trailing spaces.
function rtrim(str)
{
   var whitespace = new String(" \t\n\r");
   var s = new String(str);
   if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
      var i = s.length - 1;       // Get length of string
      while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
         i--;
      s = s.substring(0, i+1);
   }
   return s;
}

// Trim(string) : Returns a copy of a string without leading or trailing spaces
function trim(str) {
   return rtrim(ltrim(str));
}


//url - for loading aj=1, div_name - block to load, loading_div - "" if no else loading_div
function LoadToDiv2(url,div_name,loading_div) {
  var http_request = false;

  if (window.XMLHttpRequest) {
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) {http_request.overrideMimeType("text/xml");}
    http_request.onreadystatechange = function() { LoadToDiv_print(http_request,div_name,loading_div); };
    http_request.open("GET", url, true);
    http_request.send(null);
  } else if (window.ActiveXObject) {
    http_request = new ActiveXObject("Microsoft.XMLHTTP");
    if (http_request) {
      http_request.onreadystatechange = function() { LoadToDiv_print(http_request,div_name,loading_div); };
      http_request.open("GET", url, true);
      http_request.send();
      return false;
    }
  }
  if (!http_request) {alert('Cant create XMLHTTP class !');return false;}

}


function LoadToDiv_print(http_request,div_name,loading_div) {
  try {
    if (http_request.readyState == 4) {
      if (http_request.status == 200) {
        document.getElementById(div_name).innerHTML=trim(http_request.responseText);
      } else {
        document.getElementById(div_name).innerHTML='Reguest error';
      }
      if (loading_div != "") {document.getElementById(loading_div).style.display = "none";}
    }
    else {
        if (loading_div != "") {document.getElementById(loading_div).style.display = "inline";}
    }
  }
  catch( e ) {alert('Error for dynamic change: ' + e.description);}
}


function LoadToDiv(url,div_name,loading_div) {
    if (loading_div != "") {document.getElementById(loading_div).style.display = "inline";}
    JsHttpRequest.query(
            url,{},
            function(result, errors) {
                if (loading_div != "") {document.getElementById(loading_div).style.display = "none";}
                document.getElementById(div_name).innerHTML = errors;
                //document.getElementById(div_name).innerHTML =document.getElementById(div_name).innerHTML+result["str"];
            },
            true
        );

}


/**
Change dynamic list by array
  form_name - form name with listname object
  listname - list name that need to be changed
  source_array - array [0]-cat_id [1]-item_id [2] item_name
  cat_id - cat_id to filtrate
  orig_cat_id - selected cat_id
  orig_item_id - selected item_id

*/

function changeDynaList(form_name, listname, source_array, cat_id, orig_cat_id,orig_item_id ) {
	var list = eval( 'document.'+form_name+'.' + listname );

	// empty the list
	for (i in list.options.length) {
		list.options[i] = null;
	}
    list.length=0;
    //cycle
	i = 0;
	for (x in source_array) {
		if (source_array[x][0] == cat_id) {
			opt = new Option();
			opt.value = source_array[x][1];
			opt.text = source_array[x][2];

			if (((orig_cat_id == cat_id) && (orig_item_id == opt.value)) || i == 0 ) {
				opt.selected = true;
			}
			list.options[i++] = opt;
		}
	}
	list.length = i;
}

function textarea_maxlength(Object, MaxLen) {
  return (Object.value.length <= MaxLen);
}


