﻿function getAncestorByTagName(elt,tagName,level)
{
	level = level || 1;
	var i = 0;
	while(elt && i< level)
	{
		elt = elt.parentNode;
		if (elt && elt.nodeName == tagName)
		{
			i++;
		}
	}
	return elt;
}
//-----------------------------------------------------------------------------
function getAncestorByAttribute(elt,attName,attValue,level)
{
	level = level || 1;
	var i = 0;
	while(elt && i< level)
	{
		elt = elt.parentNode;
		if (!elt) break;
		attV = elt.getAttribute(attName)
		if (attV == attValue || attValue == null  && attV)
			i++;
	}
	return elt;
}
function rand($min,$max){
	$max = $max || $min;
	$min = $max ? $min : 0;
	return Math.round(Math.random()*$max) + $min;
}
function getRandomString($len,$chars){
   $chars = $chars || "abcdefghijklmnopqrstuvwxyz0123456789_-."
   $res = [];
   for(var $i = 0; $i < $len; $i++){
   		$id = rand(0,$chars.length - 1);
		$res[$res.length] = $chars.substr($id,1);
   }
   return $res.join("");
}

function HtmlEncode(str){
	return str.replace(/&/g,"&amp;")
		.replace(/>/g,"&gt;").replace(/</g,"&lt;")
		.replace(/"/g,"&quot;");
}
//-----------------------------------------------------------------------------
function GetX(input) {
  var img=input;
  var X=0;
  do {X+=img.offsetLeft;} while (img=img.offsetParent);
  return X;
}
function GetY(input) {
  var img=input;
  var Y=0;
  do {Y+=img.offsetTop} while ((img=img.offsetParent)!=null);
  return(Y);
}

