function var_dump(arr,level) {
	var dumped_text = "";
	if(!level) level = 0;
	
	//The padding given at the beginning of the line.
	var level_padding = "";
	for(var j=0;j<level+1;j++) level_padding += "    ";
	
	if(typeof(arr) == 'object') { //Array/Hashes/Objects 
		for(var item in arr) {
			var value = arr[item];
			
			if(typeof(value) == 'object') { //If it is an array,
				dumped_text += level_padding + "'" + item + "' ...\n";
				dumped_text += dump(value,level+1);
			} else {
				dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
			}
		}
	} else { //Stings/Chars/Numbers etc.
		dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
}

function pm_byid(element) {
  return document.getElementById(element);
}

function groupAction(form,prefix,select){

  // цикл ниже перебирает все элементы в объекте f,
  // переданном в качестве параметра
  // функции, в данном случае - наша форма.
  for (var i = 0; i<form.elements.length; i++){
    var element=form.elements[i];
    if(element.getAttribute("type")=="checkbox"){
      var regex = new RegExp("^"+prefix+".+$");
      if(regex.test(element.name)){
        element.checked=select;
      }
    }
  }
}

function addEvent(obj, evType, fn){ 
 if (obj.addEventListener){ 
   obj.addEventListener(evType, fn, false); 
   return true; 
 } else if (obj.attachEvent){ 
   var r = obj.attachEvent("on"+evType, fn); 
   return r; 
 } else { 
   return false; 
 } 
}

function hideshow(which) {
  if (!document.getElementById | document.all) return
  if (document.getElementById)
   var oWhich = eval ("document.getElementById('" + which + "')")
  else
   oWhich = eval ("document.all." + which)
  window.focus()
  if (oWhich.style.display=="none")
  oWhich.style.display=""
  else
  oWhich.style.display="none"
}

function buildQueryString(theFormName) {
  theForm = document.forms[theFormName];
  var qs = ''
  for (e=0;e<theForm.elements.length;e++) {
    if (theForm.elements[e].name!='') {
      qs+=(qs=='')?'?':'&'
      qs+=theForm.elements[e].name+'='+escape(theForm.elements[e].value)
    }
  }
  return qs;
}

function popupOpen(url,name,width,height) {
  if(window.screenLeft && window.screenTop){
    var left = window.screenLeft+Math.round(window.document.body.offsetWidth/2-width/2);
    var top  = window.screenTop+Math.round(window.document.body.offsetHeight/2-height/2);
  }else{
    var left = window.screenX+Math.round(window.innerWidth/2-width/2);
    var top  = window.screenY+Math.round(window.innerHeight/2-height/2);
  }
  nw = window.open(url, name, 'top='+top+',left='+left+',width='+width+',height='+height+',status=0');
  nw.focus();
}

function helpOpen(id){
  popupOpen('/about/'+id,id,550,600);
}

function setCookie(name, value) {
  var valueEscaped = escape(value);
  var expiresDate  = new Date();
  expiresDate.setTime(expiresDate.getTime() + 365*24*3600*1000); //one year expires date
  var expires   = expiresDate.toGMTString();
  var newCookie = name +"=" + valueEscaped + "; path=/; expires=" + expires;
  if (valueEscaped.length <= 4000) document.cookie = newCookie + ";";
}

function getCookie(name) {
  var prefix = name + "=";
  var cookieStartIndex = document.cookie.indexOf(prefix);
  if (cookieStartIndex == -1) return null;
  var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length);
  if (cookieEndIndex == -1) cookieEndIndex = document.cookie.length;
  return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex));
}

function allLinkTags() {
  //Get all partners informers blocks
  var informers = document.getElementsByName('partners');
  var ilen =  informers.length;
  //Go through this blocks and catch all links in block
  for(var i=0; i<ilen; i++) {
    //Catch all links
    var links = informers[i].getElementsByTagName('a');
    var llen = links.length;
    for (var j=0; j<llen; j++) {
      //Set oncklick handler getURl
      links[j].onclick = getURL;
    }
  }
}
 
function getURL(e) {
  if (!e) var e = window.event;
  //check for srcElement in IE or target in Mozilla
  var linkTag      = e.srcElement ? e.srcElement : e.target; 
  var linkTagURL   = linkTag.href;      //link
  var linkTagName  = linkTag.name;      //link name
  var linkTagTitle = linkTag.title;     //link title
  var linkTagText  = linkTag.innerHTML; //link text
  var data = 'url='+linkTagURL+'&title='+linkTagText;
  getAsyncRequest('POST', '/scripts/stat.php', data);
}
