 

String.prototype.trim = function() { 
        a = this.replace(/^\s+/, ''); 
        return a.replace(/\s+$/, '');
    };



function TestRegularExpr(name,value)
{
    var regex = null;
    switch (name)
    {
      case 'email'  :  regex = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/; break;
      case 'float'  :  regex = /^[0-9]+(\.?[0-9]*)$/; break;
      case 'integer':  regex = /^[0-9]+$/; break;
      case 'login':  regex = /^[a-zA-Z0-9]{5,20}$/; break;
      case 'password':  regex = /^[a-zA-Z0-9]{5,20}$/; break;
    } 
    return regex.test(value);
} 
 
 
function ShowSubMenu(id)
{
   var element = document.getElementById(id);
   element.style.display = 'block';
   	for (var i = 0; i < element.getElementsByTagName('li').length; i++)
	{
		element.getElementsByTagName('li')[i].style.display = 'block';
	}
   return false;
}

function HideSubMenu(id)
{
   var element = document.getElementById(id);   
   element.style.display = 'none';
   	for (var i = 0; i < element.getElementsByTagName('li').length; i++)
	{
		element.getElementsByTagName('li')[i].style.display = 'none';
	}
   return false;
} 
 
 
function ListTableOver(element) 
{
	element.style.backgroundColor = '#F3DD85';
}

function ListTableOut(element) 
{
    element.style.backgroundColor = '#FAF0CB';
}


function ClearForm(formId)
{
	var vform = document.getElementById(formId);
  	var inputs = vform.getElementsByTagName('input');
  	for (var i = 0; i < inputs.length; i++) 
	{     
		if (inputs[i].type=='checkbox')
		{
		inputs[i].checked = false;
		}
		else if ((inputs[i].type=='text') || (inputs[i].type=='password'))
		{
		inputs[i].value = "";
		}
	}
	return false;
}



function validateForm(vform)
{
  if (!vform.getElementsByTagName) vform = document.getElementById(vform);
  inputs = vform.getElementsByTagName('input');
  for (var i = 0; i < inputs.length; i++) 
	{
     var required = inputs[i].getAttribute('required');
     if (inputs[i].type=='checkbox')
     {
     	if ((required!=null) && (!inputs[i].checked)) 
        {        	
          showinfobox("Musisz zaznaczyć pole \""+inputs[i].getAttribute('desc')+"\" !",'false','true','warning');
		  return false; 
       	}
     }
     
     if ((required!=null) && (inputs[i].value.trim()=='')) 
     {
      showinfobox("Pole \""+inputs[i].getAttribute('desc')+"\" nie może być puste!",'false','true','warning');
	  return false; 
     }  
	 
	 if ((required==null) && (inputs[i].value.trim()=='')) continue;
	             		  
	 if ((inputs[i].getAttribute('validate'))!=null)
     {	
         var regname = inputs[i].getAttribute('validate'); 	
         var val = 	inputs[i].value;	
		 if (!TestRegularExpr(regname,val))
		 {
		   showinfobox("Niepoprawna wartość w polu "+inputs[i].getAttribute('desc')+"!",'false','true','warning');
		   return false;
		 }
	 }
	}
    
	return true;      
}




function showPromPrice(radiobtn)
{
    var pchecked = radiobtn.checked;
    if (pchecked==true)
    {
       document.getElementById('PromPrice').setAttribute('validate','float');
    }
    else
    {
        document.getElementById('PromPrice').removeAttribute('validate');
    }
}


function ProductEditorReset()
{
    var element = document.getElementById('proedtitle');
    element.innerHTML = '<b>.:Nowy produkt:.</b>';
    var ProductForm = document.forms['ProductForm'];
    ProductForm.elements['ProductId'].value='0';    
    var imgs = document.getElementById('addedPhotos');
    imgs.innerHTML = 'Nie dodano jeszcze zdjęć.';
    return true;
}


function TypeEditorReset()
{
    var element = document.getElementById('typetitle');
    element.innerHTML = '<b>.:Nowa kategoria produktów:.</b>';
    var TypeForm = document.forms['TypeForm'];
    TypeForm.elements['EditTypeId'].value='0';
}



function getinfobox()
{
    if (document.getElementById) return document.getElementById("infobox")
    else if (document.all) return document.all.infobox;
}


function center_div(obj_id)
{
    var scrWidth = getPageSize()[0];
    var prevWidth = obj_id.offsetWidth;
    obj_id.style.left = ((scrWidth / 2) - (prevWidth / 2))+'px';
}


function hide_div(divid) 
{
	var targelem = document.getElementById(divid);
	targelem.style.display='none';
	targelem.style.visibility='hidden';
	return false;
}


function HideShowDiv(divid)
{
	var divobj = null;
	if (document.getElementById) divobj = document.getElementById(divid)
    else if (document.all) divobj = document.all.divid;
	if (divobj == null) return false;
	if (divobj.style.visibility=='hidden')
	{
		divobj.style.visibility = 'visible';
		divobj.style.display = 'block';
	}
	else
	{
		divobj.style.visibility = 'hidden';
		divobj.style.display = 'none';
	}
	return false;
}

function ShowDiv(divid)
{
    var divobj = null;
	if (document.getElementById) divobj = document.getElementById(divid)
    else if (document.all) divobj = document.all.divid; 
    if (divobj == null) return false;
    divobj.style.visibility = 'visible';
	divobj.style.display = 'block';
}



function scrollinfobox()
{
    var dtop = getScrollXY()[1]+150;
    obj_id = getinfobox();    
    obj_id.style.top = dtop+'px';
}


function showinfobox(title,withloading,withbtn,context)
{
	newHTML = '<p>'+title+'</p>';
    if (context=='info')	
	{
		newHTML = '<img class="icon" src="pics/message.gif" alt="" /><p style="text-align:left">'+title+'</p>';
	}
    if (context=='warning')	
	{
		newHTML = '<img class="icon" src="pics/warning.gif" alt="" /><p style="text-align:left">'+title+'</p>';
	}
    	
    if (withloading=='true') 
    {
		newHTML = newHTML + '<p><img src="pics/loading_bar.gif" alt="" /></p>';
	}
    
    if (withbtn=='true') 
    {
		newHTML = newHTML + '<a id="okbtn" href="#" onclick="return hide_div(\'infobox\');" >&nbsp;&nbsp;&nbsp;Ok&nbsp;&nbsp;&nbsp;</a>';
	}
    
	var obj_id = getinfobox();
	obj_id.innerHTML = newHTML;
    obj_id.style.display="block"; 
	obj_id.style.visibility="visible";   
    
    var dtop = getScrollXY()[1]+150;    
    obj_id.style.top = dtop+'px';
    center_div(obj_id);	
    window.onscroll = scrollinfobox;
    if (withbtn=='true') return false
    else return true;
}	    



