function myF_psForm(sParentId, sDivClassName){
  this.groupTitles=new Array();
  this.nonCfgGroup=new Array();
  this.HelpfulHints=new Array();
  this.DownloadHelpfulHint = "";
  this.prjColor=''
  this.cart = new Array();
  this.vars2Mark = new Array();
  this.MarkCords = new Array();
  this.FixedAttOfInch = false;
  
  this.prjFile='';
  this.prjFullPath='';
  
  var wraper = document.createElement('div');
  wraper.id = "myF_psFormWraper"
  
  
  var confTitle=document.createElement('div');
  confTitle.id = 'myF_confTitle';
  //confTitle.innerHTML=LNG['sizing_options'];
  confTitle.innerHTML='<img src="lib/img/'+LANGUAGE+'/cn_type_title01.gif" />';
  wraper.appendChild(confTitle);
  
  var div01 = document.createElement('div');
  div01.className = sDivClassName;
  
  div01.id="myF_psFormDiv"
//   div.id="myF_tab_child_0"
 
  var div02 = document.createElement('div');
  div02.className = sDivClassName+"02";
  div02.id="myF_psFormDiv02"
  
  if(MS_LIST == '1')
    div02.innerHTML='<span class="pss_label" id="pss_label_nb">'+LNG['part_number']+':</span><span class="pss_holder"><span class="pss_holder" id="pss_holder_nb"></span><a href=\'javascript:popUpWin("'+MATERIAL_URL+'","ML","600","400")\'><img src="lib/img/'+LANGUAGE+'/materials.gif" /></a></span>';
  else
    div02.innerHTML='<span class="pss_label" id="pss_label_nb">'+LNG['part_number']+':</span><span class="pss_holder" id="pss_holder_nb"></span>';
  
  div01.appendChild(div02)
  wraper.appendChild(div01)
  
  var form = document.createElement('form');
  form.name="myF_psForm";
  form.id="myF_psForm";
  form.method="GET";
  form.target="preview"
  
  
  this.obj = form;
  form.setAttribute("onsubmit","return false;");
  
  var table = document.createElement('table');
  table.id="myF_psFormTable";
  table.width="160";
  table.border='0';
//   table.border="1"
  var tbody = document.createElement('tbody');
  tbody.id = "myF_psFormTBody";
  table.appendChild(tbody);
  
  this.obj.appendChild(table);
  
  
  
  div02.appendChild(this.obj);
  
  //btn area
  var divBtnArea = document.createElement('div');
  divBtnArea.id = 'myF_psForm_btn_area';
  divBtnArea.className='myF_psForm_btn_area';
  wraper.appendChild(divBtnArea);
  //
  
  if(sParentId == null){
		var parent = document.getElementsByTagName('body')[0];	
	}
	else{
		var parent = document.getElementById(sParentId);
	}
	
	parent.appendChild(wraper);
	
}

myF_psForm.prototype.append_h_field=function(sVarName, sValue){
    var hidden = document.createElement('input');
    hidden.type="hidden"
    hidden.name=sVarName
    hidden.id  =sVarName + "_h"
    hidden.value=sValue
    this.obj_h.appendChild(hidden)
}

myF_psForm.prototype.appendOption_h=function(sVarName, sValue){
    $(sVarName + "_h").value = sValue
}

myF_psForm.prototype.addGroup=function(sVarBefore, sTitle){
  this.groupTitles[sVarBefore]=sTitle;
}
myF_psForm.prototype.addNonCfgGroup=function(sVarBefore, aFields){
  this.nonCfgGroup[sVarBefore]=aFields;
}
myF_psForm.prototype.setHH=function(sVarName, sLink){
  this.HelpfulHints[sVarName]=sLink;
}

myF_psForm.prototype.setTitle=function(sTitle){
  document.getElementById('myF_confTitle').innerHTML=sTitle;
}

myF_psForm.prototype.setAction=function(sAction){
  //this.obj.action=sAction
  this.obj.setAttribute("action",sAction)
}

/*
function myF_psFormField(myF_psForm, htmlType){
  if (htmlType == "text"){
    var field = document.createElement('input');
    field.type=htmlType
  }
  else if(htmlType == "select"){
    var field = document.createElement('select');
  }

  field.name="name";
  
  this.obj = field;
  myF_psForm.obj.appendChild(this.obj)
  myF_psForm.obj.appendChild(document.createElement('br'))
}
*/

myF_psForm.prototype.appendHiddenField = function(sVarName, sValue){
  var hidden = document.createElement('input');
  hidden.type="hidden"
  hidden.name=sVarName
  hidden.id  =sVarName
  hidden.value=sValue
  this.obj.appendChild(hidden)
  hidden.setAttribute("autointernal", this.obj.elements.length - 1)
  hidden.internal = this.obj.elements.length - 1
  
  //fix for IE6
//   this.append_h_field(sVarName, sValue)
  
}

myF_psForm.prototype.setHiddenFieldValue = function(sVarName, sValue){
  $(sVarName).value=sValue
}


//myF_psForm.prototype.appendField = function(sVarName, sLblText, sHtmlFieldType, sUnit, sRange, sValue, sHHUrl){
myF_psForm.prototype.appendField = function(sVarName, sLblText, sHtmlFieldType, sUnit, sRange, sValue){
    var tbody = document.getElementById("myF_psFormTBody");
 
  var row = document.createElement("TR");
  //novo 
  row.id="row_"+sVarName;
  row.style.display="";
  //novo end
  
  var cell = document.createElement("TD");
  tbody.appendChild(row)
  row.appendChild(cell)
  
  var lbl = document.createElement('div');
  lbl.id = "lbl_" + sVarName;
  lbl.className = "lbl";
//   lbl.appendChild(document.createTextNode( sLblText));
  lbl.innerHTML=sLblText
  

      // material list
   if(MS_LIST == '1')
     if(sVarName.substring(0,3) == 'MAT' || sVarName.substring(0,2) =='ST') {
        var ml = document.createElement('a');
        ml.href = 'javascript:popUpWin("'+MATERIAL_URL+'","ML","600","400")';
        ml.className='myF_psFormMaterialList';
        ml.innerHTML = '<img src="lib/img/'+LANGUAGE+'/materials.gif" />';
    
        lbl.appendChild(ml);

     }

    //
  
  cell.appendChild(lbl)
  
  var endless = '0';
  if (sHtmlFieldType == "text"){
    var field = document.createElement('input');
    field.type=sHtmlFieldType
    field.setAttribute('dobraVrijednost',sValue)
    if(sValue)
      field.value = sValue
      
      if(sVarName == 'CHARSELECT'){ //beskonacno polje [~]
        endless = '1'
	  	field.setAttribute('endless','1')
	  	field.setAttribute('endlessswitch', sUnit)
	  }else{
		  if(window.addEventListener){ // Mozilla, Netscape, Firefox
				field.addEventListener('keypress', DjesToPritiso, false);
			}else{ // IE
				field.attachEvent('onkeypress', DjesToPritiso);
			}
	  }

	
  }
  else if(sHtmlFieldType == "select"){
    var field = document.createElement('select');
    field.setAttribute('nativeSelect','yes');

  }
  
    if(window.addEventListener){ // Mozilla, Netscape, Firefox
		field.addEventListener('change', selectValChanged, false);
	}else{ // IE
		field.attachEvent('onchange', selectValChanged);
	}

	
  field.name=sVarName;
  field.id=sVarName;
  field.setAttribute('disBef','0');
  
//   this.obj.appendChild(field)

  cell.appendChild(field)

  
  field.setAttribute("autointernal", this.obj.elements.length - 1)
  field.internal = this.obj.elements.length - 1
  
  if(sUnit != false){
    var unit = document.createElement('span');
    unit.className='unitCont'
    unit.appendChild(document.createTextNode("["+sUnit+"]"));
    unit.id="unit_" + sVarName;
    cell.appendChild(unit)
    
    if(endless == 1){
		unit.style.display = 'none'
	}
  }
  
  
  if (sHtmlFieldType == "text"){
    var range = document.createElement('span');
    range.className="rangeCont";
    range.id="range_" + sVarName;
    
    
    
    
    if(sRange != false){
//       var arRange = sRange.split('-');
//       var arRange2 = arRange[1].split('/');
//               range.innerHTML='<span id="LowLimit_'+sVarName+'">' + arRange[0] +'</span>-<span id="HeightLimit_'+sVarName+'">'+ arRange2[0]+'</span>';
//       if (arRange2.length == 2)//ima step
//               range.innerHTML = range.innerHTML + '/'+'<span id="Step_'+sVarName+'">'+arRange2[1]+'</span>';

        range.innerHTML = sRange;

    }
      
    
    cell.appendChild(range)
  }
  

}//end function

myF_psForm.prototype.appendOption = function(sVarName,sValue,sText,bIsSelected,bIsFixed){
  if ($('row_'+sVarName).style.display=='none' && sValue!='N/A'){
    $('row_'+sVarName).style.display='';
  }

    var opt = document.createElement('option');
    opt.value = sValue;
    if(bIsFixed && this.FixedAttOfInch == true){
    	opt.appendChild(document.createTextNode(fraction2(sText,64)));
	}
	else{
    	opt.appendChild(document.createTextNode(sText));
	}

    if(bIsSelected)
        opt.setAttribute('selected',bIsSelected);
 
  if ($(sVarName).type == "select-one"){       
      $(sVarName).appendChild(opt);
  }
  else{
    var text = $(sVarName);
    // colect attributes
    var disBef = text.getAttribute('disBef');
    var autointernal = text.getAttribute('autointernal');
    //
    var textParent = text.parentNode
    textParent.removeChild(text);
    textParent.removeChild($('range_'+sVarName));
    
              var field = document.createElement('select');
              field.name=sVarName;
              field.id=sVarName;
              field.setAttribute('disBef',disBef);
              field.setAttribute('autointernal',autointernal);
              if(text.markercords){
			  	field.markercords = text.markercords;
			  	if(window.addEventListener){
          			field.addEventListener('mouseover', moveMarker, false);
//           			field.addEventListener('mouseout', hideMarkers, false);        		
          	  	}else{
          			field.attachEvent('onmouseover', moveMarker);
//           			field.attachEvent('onmouseout', hideMarkers);
          	  	}
			  }
                         
              if(window.addEventListener){
		          field.addEventListener('change', selectValChanged, false);
	          }else{
	   	       	  field.attachEvent('onchange', selectValChanged);
	          }

              textParent.insertBefore(field,$('unit_'+sVarName))
              field.appendChild(opt);
              
              field.setAttribute('nativeSelect','no');
  }
}

myF_psForm.prototype.setOptSelected = function (sVarName, sVarVal){
  //alert (this.obj.elements.length);
  var field = document.getElementById(sVarName);
  if (field.type == "select-one"){
      var len = field.options.length;
      var i = 0;
      while (i <= len-1){
        if(field.options[i].value == sVarVal)
        {
          //alert(field.options[i].value);
          field.selectedIndex = i;
          break;
        }
        i++;
      }
  }else{
    field.value=sVarVal;
  }
}

myF_psForm.prototype.serialize = function(iChangedFieldIndex){
  //var len = this.obj.elements.length;
  var s = "prj=" + PRJ_PATH + "|"
  
  /*
  //pobrise sve do fielda u kojem su izabrane crte, 
  //te vrati nulu (izadje iz funkcije) kako selectValChanged nebi startala ajax
  if (this.obj.elements[iChangedFieldIndex].value == "-----"){
        PS_FORM.removeField(iChangedFieldIndex)
        return "0";
  }
  //Brise sve do filda koji je poromjenjen
  else if (iChangedFieldIndex != this.obj.elements.length-1){
    PS_FORM.removeField(iChangedFieldIndex)
  }
  */
  for (var i = 0; i <= this.obj.elements.length-1;i++){ 
    s = s + this.obj.elements[i].name + "=" + this.obj.elements[i].value + "|"
  }
  //alert(s)
  return s.substr(0,s.length-1)
  
}

//prepoznaje dali je polkje text ili select
myF_psForm.prototype.appendOptionSpecial = function(sVarName,sValue,sText,bIsSelected){
// 	if($(sVarName).getAttribute('endless') =='1') 
// 		return false

  if (document.getElementById('row_'+sVarName).style.display=='none' && sValue!='N/A'){
    document.getElementById('row_'+sVarName).style.display='';
  }
 
  var opt = document.createElement('option');
  opt.value = sValue;
  opt.appendChild(document.createTextNode(sText));
  if(bIsSelected)
    opt.setAttribute('selected',bIsSelected)
  
  var field=document.getElementById(sVarName);
  
  if (document.getElementById(sVarName).type == "select-one")
        field.appendChild(opt)
  else{
		field.value=sValue
		field.setAttribute('dobraVrijednost',sValue)
	}

  //fix for IE6
//   this.appendOption_h(sVarName, sValue);

}

myF_psForm.prototype.clearField = function (sVarName){
    //alert(sVarName + "  " + ISIE6);
  var field = document.getElementById(sVarName)
  
//   if(field.getAttribute('endless') =='1') 
// 		return false
  
  field.disabled=false
  
  if (field.type == "select-one"){
    //alert(sVarName + "=" + field.type);
    //field.options.length=null;
    if(ISIE6 == false)
        field.options.length=null;
    else
        field.innerHTML="";

  }
  else
  {
    field.value = "";
    document.getElementById("range_"+sVarName).innerHTML = "";
  }
  field.setAttribute('disBef','0');
//alert(document.getElementById(sVarName).type)
}


myF_psForm.prototype.removeField = function(iChildIndex){
  //this.obj.appendChild
  var iToRemove = this.obj.elements.length-1-iChildIndex;
  //alert("U formi je : " + this.obj.elements.length)
  for (i = 0; i < iToRemove ;i++ ){
    var field = this.obj.elements[this.obj.elements.length-1]
    var lbl = document.getElementById("lbl_"+field.name)
    //alert("lbl id = lbl_" + field.name)
    
    if (document.getElementById("unit_"+field.name) != null)
    {
        var unit = document.getElementById("unit_"+field.name)
        unit.parentNode.removeChild(unit)
    }
    if (document.getElementById("range_"+field.name) != null)
    {
        var range = document.getElementById("range_"+field.name)
        range.parentNode.removeChild(range)
    }
      
    if (document.getElementById("lbl_"+field.name) != null)
    {
         lbl.parentNode.removeChild(lbl)
         
    }
    this.obj.removeChild(field)
    
  }
  document.getElementById('holderPN').innerHTML=""
}

myF_psForm.prototype.hideField=function(fieldName){
	if($(fieldName).getAttribute('endless') =='1'){
		if($( $(fieldName).getAttribute('endlessswitch')).value == ''  )
			$("row_"+fieldName).style.display="none"
		else
			$("row_"+fieldName).style.display=""
	}
	else{
	    $("row_"+fieldName).style.display="none"
	}
 
}

myF_psForm.prototype.disableField=function(fieldName){
	if($(fieldName).getAttribute('endless') =='1'){
		if($( $(fieldName).getAttribute('endlessswitch')).value == ''  )
			$("row_"+fieldName).style.display="none"
		else
			$("row_"+fieldName).style.display=""
	}
	else{
	  document.getElementById(fieldName).setAttribute('disabled','true');
	  document.getElementById(fieldName).setAttribute('disBef','1');
	}
}

myF_psForm.prototype.populateRangeField=function(fieldName, sRange, sValue){
// 	if($(fieldName).getAttribute('endless') =='1') 
// 		return false
	var field=document.getElementById(fieldName);

  if (document.getElementById('row_'+fieldName).style.display=='none'){
    document.getElementById('row_'+fieldName).style.display='';
  }
  
  if (field.type == "text"){
// 		  ////////////no reset zakrpa - koja nevalja jel 
// 		  if(sRange != ""){
// 		      var oldValue = parseFloat(field.getAttribute('dobravrijednost'))
// 		      var sRangeCur = sRange.substr(1, sRange.length-2);
// 		      var aContRange = sRangeCur.split("/");
// 		      var aLimits = aContRange[0].split(" - ");
// 		      var minLimit = parseFloat(aLimits[0]);
// 		      var maxLimit = parseFloat(aLimits[1]);
// 
// 		     if((minLimit <= oldValue) && (oldValue <= maxLimit))
// 		     	sValue = oldValue;
// 		    }
// 		  ////////////
		  
      if( sValue)
      field.value = sValue  
      $('range_'+fieldName).innerHTML = sRange;
  	  field.setAttribute('dobraVrijednost',sValue)

  }
  else{
    if(field.getAttribute('nativeSelect') == 'yes'){
    //0, 2, 2.6, [3 - 43/0.5]
        var aRanges = sRange.split(", ")
        for(i=0, l=aRanges.length; i<l; ++i){
            if(aRanges[i].indexOf("[") == -1){
                var opt = document.createElement('option');
                opt.value = aRanges[i];
                opt.appendChild(document.createTextNode(aRanges[i]));
                field.appendChild(opt)
            }
            else{
                var sRangeCur = aRanges[i].substr(1, aRanges[i].length-2);
                var aContRange = sRangeCur.split("/");
                var aLimits = aContRange[0].split(" - ");
                var minLimit = parseFloat(aLimits[0]);
                var maxLimit = parseFloat(aLimits[1]);
                
                if (aContRange.length > 1)
                    var step = parseFloat(aContRange[1]);
                else
                    var step = 1;
                if(step < 1){
                    // metric/steel_pipes/puty.prj
                    // standard/configurable, pa kada je korak manji od jedan da nebude select nego text
                    field.setAttribute('nativeSelect','no');
//                     this.populateRangeField(fieldName, '[' + sRangeCur + ']', sValue);
                    this.populateRangeField(fieldName, sRange, sValue);
                    return 0;
                }    
                
                for (var ii = minLimit; ii <= maxLimit; ii=ii+step){
                    //appendOption(sVarName,sValue,sText,bIsSelected)
                      var opt = document.createElement('option');
                      opt.value = ii;
                      opt.appendChild(document.createTextNode(ii));
                      if(ii == sValue){
                        opt.setAttribute('selected',true);
                      }
                      field.appendChild(opt)
                }


            }
        }
        
    }
    else{
        //var select = $(fieldName);
        // colect attributes
        var disBef = field.getAttribute('disBef');
        var autointernal = field.getAttribute('autointernal');
        //
        var selectParent = field.parentNode;
        
        selectParent.removeChild(field);
        
        var field = document.createElement('input');
        field.type='text';
        field.name=fieldName;
        field.id=fieldName;
        field.setAttribute('disBef',disBef);
        field.setAttribute('autointernal',autointernal);
        
        if(window.addEventListener){ // Mozilla, Netscape, Firefox
    		field.addEventListener('keypress', DjesToPritiso, false);
    		field.addEventListener('change', selectValChanged, false);
    	}else{ // IE
    		field.attachEvent('onkeypress', DjesToPritiso);
    		field.attachEvent('onchange', selectValChanged);
    	}
    	

    	selectParent.insertBefore(field,$('unit_'+fieldName))
    	//selectParent.appendChild(field);
    	
    	if( sValue)
            field.value = sValue
      
        if($('range_'+fieldName) == null){
            var range = document.createElement('span');
            range.className="rangeCont";
            range.id="range_" + fieldName;
    	    selectParent.appendChild(range);
        }
        $('range_'+fieldName).innerHTML = sRange;
      
        field.setAttribute('dobraVrijednost',sValue)

    }

  }

}

myF_psForm.prototype.appendSubmitBtn = function(){

    if(MODEL_TYPE == "1"){
        var a=document.createElement('a');
        a.className = 'myF_btn_3d';
        a.href='javascript:PS_FORM.PartServer3D();'
        //a.innerHTML='<button onclick="javascript:PS_FORM.PartServer3D();">' + LNG['3d_view'] + '</button>';
//         a.innerHTML = "<img src='lib/img/dummy_button.gif' ALIGN=TEXTMIDDLE />";
// a.innerHTML = "z";
        $("myF_psForm_btn_area").appendChild(a)
    }
    
    var a=document.createElement('a');
    a.className = 'myF_btn_cad';
    a.href='javascript:PS_FORM.activateDownload();'
    //a.innerHTML='<button onclick="javascript:PS_FORM.activateDownload();">' + LNG['download'] + '</button>';
//     a.innerHTML = "sad";
a.innerHTML = "";
    $("myF_psForm_btn_area").appendChild(a)

}


// myF_psForm.prototype.setDownloadHH=function (sUrl){
// 	this.DownloadHelpfulHint = sUrl
// }


myF_psForm.prototype.setNB=function(s){
  $('pss_holder_nb').innerHTML=s
}
myF_psForm.prototype.setNN=function(s){
  $('pss_holder_nn').innerHTML=s
}
myF_psForm.prototype.setNT=function(s){
  $('pss_holder_nt').innerHTML=s
}
myF_psForm.prototype.setSC=function(s){
  $('pss_holder_sc').innerHTML=s
}

myF_psForm.prototype.setShema=function(){
	if(VG_OK == 1){
// 	    $('myF_tab_child_0').innerHTML = '<iframe class="schematic" frameborder="0" id="schematic" name="schematic" src="'+LOCATION +'/files/'+M_WEB_ID+'.html"></iframe>'
	    $('myF_tab_child_0').innerHTML = '<iframe class="schematic" frameborder="0" id="schematic" name="schematic" src="../../../../../misumi_schematics'+ SITE_VER + '/23d-libs/' + GE_LOCATION + '/files/' +M_WEB_ID+'.html"></iframe>';
// 		$('myF_tab_child_0').innerHTML = '<div style="width:50px; height:50px; border:red 0px solid;position:absolute;top:0;left:0"><img id="myF_marker_0" src="http://www.partserver.de/misumi_jp/english/23d-libs/assistant/lib/img/marker.gif" style="position: absolute; left: 302px; top: 57px;"/></div>' + $('myF_tab_child_0').innerHTML
	}
	else
	    $('myF_tab_child_0').innerHTML = '<iframe class="schematic" frameborder="0" id="schematic" name="schematic" src="'+SCHEMATIC_URL+'"></iframe>'
	    
	    
}


myF_psForm.prototype.setShemaDyn=function(s){
  //$('myF_tab_child_0').innerHTML="<img src='"+s+"' />";
  var heavyImage = new Image(); 
  heavyImage.src = s;

  $('myF_tab_child_0').innerHTML="<img src='"+heavyImage.src+"' />";
}


myF_psForm.prototype.PartServer3D=function (){
  if($('pss_holder_nb').innerHTML != GNRTD_3D_PN){
      
      var s = this.createPartString();
      
      if (DEBUG)
        document.getElementById("debug").innerHTML=s+"<br>"+document.getElementById("debug").innerHTML
    
      document.online3d.ok_url.value= GET3D_SCRIPT + "?file=<%download_xml%>&language=" + LANGUAGE + '&location=' + LOCATION;
      document.online3d.part.value=s;
      document.online3d.submit();
      if (TAB.activeChildNo != 2) TAB.setActive(2);
      
      this.toProdinfo(1, null);
      GNRTD_3D_PN = $('pss_holder_nb').innerHTML; 
  }
}

myF_psForm.prototype.toProdinfo = function(iCommit, iDlFormat){
  if (LOGGEDIN == '1' && PRODINFO == '1') {
            //$('prodinfo').src=PRODINFO_SCRIPT + '&partnumber='+$('pss_holder_nb').innerHTML
            
    var s = PRODINFO_SCRIPT + 'catalog_no='+$('pss_holder_nb').innerHTML + "&ps_no=" + this.serialize(0) + "&PRODUCT_ID=" + M_WEB_ID;
    
    if(EC_CID != "") 
    	s = s + '&ec_cid=' + EC_CID;
    
    if(iCommit != 0)
        s += "&commit=" + iCommit  
    
    if(iDlFormat != null)
        s += "&dl_format=" + iDlFormat
    
    $('prodinfo').src=s
  }
}

myF_psForm.prototype.activateDownload=function (){
    TAB.setActive(3);
    this.toProdinfo(3, null);
}
myF_psForm.prototype.activateAlterations=function (){
    TAB.setActive(1);
}

myF_psForm.prototype.createPartString=function(){
//   var s = "{$CADENAS_DATA/23d-libs/"+this.obj.elements[0].value+"}," //prj path
  var s = "{$CADENAS_DATA/23d-libs/"+ FIRM + "/" + PRJ_PATH +"}," //prj path
  
  /*
  za sada vako :-)
  */
  //s=s.replace(FIRM, "misumi_usa_inc_dev")
//   alert(s)
  
  for (var i = 0; i <= this.obj.elements.length-1;i++){ 
//     s = s + "{"+ this.obj.elements[i].name + "=" + this.obj.elements[i].value.replace(/OgnjenNBSP/, " ") + "},"
    s = s + "{"+ this.obj.elements[i].name + "=" + myfReplace(this.obj.elements[i].value) + "},"
  }
  s = s.substr(0,s.length-1)
  return s;
}

myF_psForm.prototype.disableAll=function (){
  for (var i = 0; i <= this.obj.elements.length-1;i++){
   //if (this.obj.elements[i].disabled=true)
     // this.obj.elements[i].setAttribute("disBef","1");
   this.obj.elements[i].disabled=true
  }
}

myF_psForm.prototype.enableAll=function (){
  for (var i = 0; i <= this.obj.elements.length-1;i++){
   if (this.obj.elements[i].getAttribute("disBef")!="1")
      this.obj.elements[i].disabled=false
  }
}
myF_psForm.prototype.markAlt=function(sVarName){
    //var lblText = $('lbl_'+sVarName).innerHTML;
    $('lbl_'+sVarName).innerHTML = '<span style="color:#990000">'+$('lbl_'+sVarName).innerHTML+'</span>';
    if(ALTERATIONS == '1') {
        var ml = document.createElement('a');
        ml.href = 'javascript:PS_FORM.activateAlterations();';
        ml.className='myF_psFormMaterialList';
        ml.innerHTML = '<img src="lib/img/'+LANGUAGE+'/alterations.gif" />';
    
        $('lbl_'+sVarName).appendChild(ml);

   }

}
myF_psForm.prototype.appendMarker = function(sVarName, sCords){
  this.vars2Mark.push(sVarName);
  this.MarkCords.push(sCords);
    /*
    var field = $(sVarName);
    field.markercords = sCords;

    if(window.addEventListener){ // Mozilla, Netscape, Firefox
        		field.addEventListener('mouseover', moveMarker, false);
        	}else{ // IE
        		field.attachEvent('onmouseover', moveMarker);
        	}
   */
}
myF_psForm.prototype.setFixedAttOfInch = function(){
	this.FixedAttOfInch = true;
}
var CONFIGURATOR_OK = 0;
var MARKERSNUM;
var MARKERS = new Array();
MARKERS_HIDDEN = true;
function createMarkersNum(iNum){
  MARKERSNUM = iNum;
//   for(var i = 0; i < MARKERSNUM; i++){
//     var m = document.createElement('img');
//     m.src="../../lib/img/marker.gif";
//     m.id="myF_marker_"+i;
//     m.style.position='absolute';
//     m.style.left='0px';
//     m.style.right='0px';
//     MARKERS.push(m);
//   }
}
function createMarkers(){
    if (TAB.activeChildNo == 2) PS_FORM.PartServer3D();
	if (CONFIGURATOR_OK == undefined || VG_OK == undefined) return false;
    if (CONFIGURATOR_OK == 0 || VG_OK == 0) return false;
    var misumiImgHolder = window.frames['schematic'].document.getElementsByTagName("div");
    
    misumiImgHolder = misumiImgHolder[0];
    for(var i = 0; i < MARKERSNUM; i++){
      var m = window.frames['schematic'].document.createElement('IMG');
//       m.src="../../lib/img/marker.gif";
      m.src="http://www.partserver.de/misumi_jp"+SITE_VER+"/english/23d-libs/assistant/lib/img/marker.gif"

      m.id="myF_marker_"+i;
      m.style.position='absolute';
      m.style.left='0px';
      m.style.top='0px';
      m.style.visibility = "hidden"
      MARKERS.push(m);
      misumiImgHolder.appendChild(MARKERS[i]);
    }
//       misumiImgHolder.innerHTML += '<img id="myF_marker_'+i+'" src="../../lib/img/marker.gif" style="position:absolute;left:0px;top:0px;visibility:hidden">'

          if(window.addEventListener){
          		$('myF_psFormTable').addEventListener('mouseover', tableHideMarkers2, false);
          	}else{
          		$('myF_psFormTable').attachEvent('onmouseover', tableHideMarkers2);
          	}
}

function appendMarkerListeners(){
	if(VG_OK != 1) return false;
    for (var i=0; i < PS_FORM.vars2Mark.length; i++){
      var field = $(PS_FORM.vars2Mark[i]);
      if(field != null){
	      if(window.addEventListener){ // Mozilla, Netscape, Firefox
	          		field.addEventListener('mouseover', moveMarker, false);
	//           		field.addEventListener('mouseout', hideMarkers, false);		
	          		
	          	}else{ // IE
	          		field.attachEvent('onmouseover', moveMarker);
	//           		field.attachEvent('onmouseout', hideMarkers);
	          	}	          	
	    field.markercords = PS_FORM.MarkCords[i];
	  }


    }
    

}

/*
function hideMarkers(e){
// 		alert('x')
	  if(e["target"]){	 
// 	  		window.status += e.relatedTarget.type
		if (e.relatedTarget == null || e.relatedTarget.tagName == 'OPTION') return false;
window.status += e.relatedTarget.tagName
// 	  	if (e.relatedTarget.type == 'text'){
// 	  	
// // 	  		alert('ds')
// // 	  		$('myF_psFormTable').addEventListener('mouseover', tableHideMarkers, true);
// 	  		return true;
// 		  }

	  }
	  else{
	  	if (e.toElement == null){
	  		$('myF_psFormTable').attachEvent('onmouseover', tableHideMarkers);
	  		return false;
		  }			
	  }

      for(var i = 0; i < MARKERSNUM; i++){
        MARKERS[i].style.visibility = "hidden"
      }
}
*/

/*
function tableHideMarkers(e){
      if(e["target"]){
      	 $('myF_psFormTable').removeEventListener('mouseover', tableHideMarkers, true);
      	 window.status += e.relatedTarget.tagName 
      	 if (e.relatedTarget.tagName == 'SELECT' ||  e.relatedTarget.tagName == 'OPTION') return false;
	  }
      else
      	$('myF_psFormTable').detachEvent('onmouseover', tableHideMarkers);
      	
    for(var i = 0; i < MARKERSNUM; i++){
        MARKERS[i].style.visibility = "hidden"
      }
}
*/

function markersHide(){
    for(var i = 0; i < MARKERSNUM; i++){
        MARKERS[i].style.visibility = "hidden"
      }
      
      MARKERS_HIDDEN = true;
}
function tableHideMarkers2(e){			
 	if(!MARKERS_HIDDEN) {
	 	markersHide();
	}
}
function moveMarker(e){
	
	if(MARKERS.length == 0) createMarkers();
    if (e["target"]){

    	e.stopPropagation();
        if(e["target"]["type"] == undefined) return false;
        e["target"].focus();
// 		e["target"].blur();
        var sCords = e["target"]["markercords"];
      }else{
      	e["srcElement"].focus();
      	e["srcElement"].blur();
      	e.cancelBubble = true;
        var sCords = e["srcElement"]["markercords"];
        
      }
      
//       for(var i = 1; i < MARKERSNUM; i++){ //prvu tj. nultu nemoramo skrivati
//         MARKERS[i].style.visibility = "hidden"
//       }
      var aCords = sCords.split(",");
      var iNumOfMarkers = aCords.length/2
      var left;//  = aCords[0];
      var top ; // = aCords[1];
//       console.log(aCords + " = iNumOfMarkers =" + iNumOfMarkers)
//       console.trace()
//       var style = window.frames['schematic'].document.getElementById('myF_marker_1').style;
      var style;
      
      var bDoScroll  = true;
      var scrollTop  = false;
      var scrollLeft = false;
 
      var schemaFameHeight= window.frames['schematic'].window.document.documentElement.clientHeight
      var schemaFameWidth= window.frames['schematic'].window.document.documentElement.clientWidth
      var tempXY = getSchematicOffset();
      for(var i = 0, m = 0; i < iNumOfMarkers; i++, m = m + 2){
        style = MARKERS[i].style;
        left = parseInt(aCords[m]) - 20; //20 = 1/2 marker image width
        style.left = left + 'px';
        top = parseInt(aCords[m+1]) - 20; 
        style.top = top + 'px';
        
        if(bDoScroll){
          
          if( top < tempXY[1] || top > ( tempXY[1] + schemaFameHeight - 40) ){

			scrollTop = top;

          }
          else{
		  	scrollTop= false;
		  }
          if(left < tempXY[0] || left > ( tempXY[0] + schemaFameWidth - 40) ){
			scrollLeft = left;
          }
          else{
		  	scrollLeft=false;
		  }

		  if(scrollLeft === false && scrollTop === false) bDoScroll = false;
        }
        
        style.visibility = 'visible';      
      }
      
        if(bDoScroll){
			if(scrollTop != false){
          		if( scrollTop < tempXY[1]){
          			window.frames['schematic'].window.scrollTo(tempXY[0],scrollTop);
          		}
          		else{
				    window.frames['schematic'].window.scrollTo(tempXY[0],scrollTop + 40 - schemaFameHeight)
				}
			}
            	
			if(scrollLeft != false){
				tempXY = getSchematicOffset();
				if(scrollLeft < tempXY[0]){
					window.frames['schematic'].window.scrollTo(scrollLeft, tempXY[1])
				}
				else{
					window.frames['schematic'].window.scrollTo(scrollLeft + 40 - schemaFameWidth, tempXY[1])
				}
			}

		}
		
      MARKERS_HIDDEN = false;

}

function getSchematicOffset(){
    if(document.all){
        var tempY = window.window['schematic'].document.documentElement.scrollTop;
        var tempX = window.window['schematic'].document.documentElement.scrollLeft;
    }
    else{
        var tempY = window.frames['schematic'].window.pageYOffset;
        var tempX = window.frames['schematic'].window.pageXOffset;
    }
    
    return new Array(tempX, tempY);
}
Array.prototype.inArray = function (value)
// Returns true if the passed value is found in the
// array.  Returns false if it is not.
{
    var i;
    for (i=0; i < this.length; i++) {
        // Matches identical (===), not just similar (==).
        if (this[i] === value) {
            return true;
        }
    }
    return false;
}

function myfReplace(s){
    s = s.replace(/OgnjenNBSP/g, " ");
    s = s.replace(/OgnjenQUOTE/g, '"');
    s = s.replace(/OgnjenLADDER/g, '#');
    s = s.replace(/OgnjenAMPR/g, '&');
    return s;
}
