var Agent=window.navigator.userAgent;
var isOpera=Agent.indexOf("Opera")==-1?false:true;
var isIE=Agent.indexOf("MSIE")==-1?false:parseFloat(Agent.split("MSIE")[1].split(";")[0].split(")")[0]);
var isW3CDOM=document.getElementById?true:false;
var isNN4x=(Agent.indexOf("/4.")!=-1&&!isIE&&!isOpera&&!isW3CDOM)?true:false;
var isWindows=Agent.indexOf("Windows")!=-1?true:false;
var isChrome=Agent.indexOf("Chrome")==-1?false:true;
var isSafari=(Agent.indexOf("Safari")==-1||isChrome)?false:true;
var isNetscape=Agent.indexOf("Netscape")==-1?false:true;
var isFirefox=Agent.indexOf("Firefox")==-1?false:true;

function Defined(vrbl)
{
	var str_Undefined="undefined"
	var str_Empty="";
	var str_Null="null";
	
	if(typeof(vrbl)==str_Undefined||(str_Empty+vrbl)==str_Undefined||vrbl==null||(str_Empty+vrbl)==str_Null||(str_Empty+vrbl)==str_Empty)return false;
	else return true;
}
function checkMail(value)
{
	re =/^[A-Za-z0-9_\-]+(\.[A-Za-z0-9_\-]+)*@([A-Za-z0-9_\-]+\.)+[A-Za-z0-9_\-]{2,3}$/;
	if(!re.test(value))return false;
	return true;
}
function isNumber(str)
{
	for (i=0; i<str.length; i++)
	{
		c=str.charAt(i);
		if(c==',')c='.';
		if(isNaN(c)&&c!='.')return false;
	}
	return true;
}
function CheckFieldInDate(value)
{
	re =/\d{2}.\d{2}.\d{4}/;
	if(!re.test(value))
		return false;
	return true;
}
function CheckFieldInSpace(value)
{
	count = value.length;
	count_space = 0;
	for (i = 0; i < count; i++)	{
		if (value.charAt(i) == " " || value.charAt(i) == "\t")
			count_space++;
	}
	if (count_space == count || count == 0) return true;
	else return false;
}
function GetFieldName(obj, titleatright)
{
	if(!Defined(titleatright))titleatright=false;

	if(obj.name=='checkcode')
	{
		if(!Defined(obj.previousSibling))obj=obj.parentNode;
		if(!Defined(obj.previousSibling))obj=obj.parentNode;
	}

	obj=titleatright?obj.nextSibling:obj.previousSibling;
	if(obj.tagName=="SCRIPT")obj=titleatright?obj.nextSibling:obj.previousSibling;

	var text=obj.innerHTML;
	if(text.charAt(text.length-1)==":")text=text.substr(0, text.length-1);

	return ' "'+text+'"!';
}
function CheckFormAll(form, exec, titleatright)
{
	var elmnts=[];
	if(typeof(form)!='object')form=document.forms[form];
	for(var i=0; i<form.elements.length; i++)switch(form.elements[i].type.toLowerCase())
	{
		case 'image':
		case 'submit':
		case 'button':
		case 'hidden':
			break;
		default:
			elmnts[elmnts.length]=form.elements[i].name;
	}

	return CheckFormByArray(form, elmnts, exec, titleatright);
}
function CheckFormByArray(form, elmnts, exec, titleatright)
{
	if(typeof(form)!='object')form=document.forms[form];
	for(var i=0; i<elmnts.length; i++)
	{
		var obj=form.elements[elmnts[i]];
		switch(obj.tagName)
		{
			case "SELECT":
				if((!obj.selectedIndex)&&obj.value=='')
				{
					alert(_check_field+GetFieldName(obj, titleatright));
					return false;
				}
				break;
			default:
				if(obj.name.toLowerCase().indexOf("mail")!=-1)
				{
					if(!checkMail(obj.value))
					{
						alert(_check_field+GetFieldName(obj, titleatright));
						return false;
					}
				}
				else
				{
					if(obj.value=='')
					{
						alert(_check_field+GetFieldName(obj, titleatright));
						return false;
					}
				}
		}
	}
	if(Defined(exec))eval(exec);
	return true;
}
function addEvent(obj, event, exec)
{
	if(!obj)return;
	if(obj.attachEvent)
	{
		event='on'+event;
		obj.attachEvent(event, exec);
	}
	else if(obj.addEventListener)obj.addEventListener(event, exec, false);
}
var AnimationStack=[];
function AnimateProperty(obj, property, to, duration, measure)
{
	eval("var from=obj."+property+";");
	if(from=='')from=0;
	from=parseInt(from);
	to=parseInt(to);

	if(from==to)return;

	var fps=50, duration=200, frms=Math.ceil(duration/1000*fps), delta=(to-from)/frms, stackposition=AnimationStack.length;
	AnimationStack[stackposition]=obj;

	for(var i=0, tmout=0; i<frms; i++, tmout+=1000/fps, from+=delta)setTimeout('AnimationStack['+stackposition+'].'+property+'="'+from+measure+'";', tmout);
	setTimeout('AnimationStack['+stackposition+'].'+property+'="'+to+measure+'";', tmout);
}
function ConertToClassName(attr)
{
	var re=/\W+/;
	while(attr.search(re)!=-1)attr=attr.replace(re, '');
	return attr;
}

try
{
	if(Defined(cdndomain))
	{
		$(document).ready(function()
		{
			$('img[src*="/file/?"]').error(function()
			{
				var clss=ConertToClassName(this.src);
				if(!$(this).hasClass(clss))
				{
					$(this).addClass(clss);
					setTimeout('var img=$("img.'+clss+'")[0]; var src=img.src; img.src="publication/images/blank.gif"; img.src=src;', 250);
				}
			});
		});
	}
}
catch(e){}
