function scrollTop()
{
	return	document.documentElement.scrollTop;
}

function strpos( haystack, needle, offset){
    /*
		http://kevin.vanzonneveld.net
		original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
			example 1: strpos('Kevin van Zonneveld', 'e', 5);
			returns 1: 14
	*/
     var i = haystack.indexOf( needle, offset ); // returns -1
	if (i >= 0)
		return	i;
	else
		return	false
//    return  i >= 0 ? i : false;
}

function addslashes(str)
{
	str=str.replace(/\'/g,'\\\'');
	str=str.replace(/\"/g,'\\"');
	str=str.replace(/\0/g,'\\0');
	return str;
}

function stripslashes(str)
{
	str=str.replace(/\\'/g,'\'');
	str=str.replace(/\\"/g,'"');
	str=str.replace(/\\0/g,'\0');
	return str;
}

//	Проверка, задана ли переменная
function isset(varname)
{
	return	typeof(varname)!='undefined';
}

function is_object( mixed_var ){
	if(mixed_var instanceof Array) {
		return false;
	} else {
		return (mixed_var !== null) && (typeof( mixed_var ) == 'object');
	}
}

function setLanguage(lang, domain)
{
	$.cookie('language', lang, {expires: 365, path: '/', domain: domain});
}

function getLanguage()
{
	return	$.cookie('language');
}

//	Используется для отправки массива данных из data на url методом POST
//	Требование к данным из data: они должны иметь ключи name и value
function post(url,data)
{
	var	inputs	= [];
	for (var i=0; i<data.length; i++)
		inputs.push('<input type="hidden" name="'+data[i].name+'" value="'+data[i].value+'" />');
	postForm	= '<form method="post" action="'+url+'" id="auto_post_form">'+inputs.join('')+'</form>';
	$('body').append('<div id="auto_post_form_div"></div>');
	$('#auto_post_form_div').html(postForm);
	$('#auto_post_form').submit();
	return	false;
}


//	Класс при наведении мыши
jQuery.fn.hoverClass = function(className){
	$(this).each(function(){
		$(this).hover(function(){
			$(this).addClass(className);
		},function(){
			$(this).removeClass(className);
		});
	});
};

//	Синхронно получить XML
function GetXML(xmlURL)
{
	return	$.ajax({ url:xmlURL, type:'POST', dataType:'xml', async:false,
		error:function(){ alert('Error loading XML document'); }
	}).responseXML;
}

//	Синхронно получить HTML
function GetHTML(htmlURL)
{
	return	$.ajax({ url:htmlURL, type:'GET', async:false,
		error:function(){ alert('Error loading HTML document'); }
	}).responseText;
}

//	Открепить все события от элемента и всех его наследников
jQuery.fn.unbindAll	= function(){
	if (typeof($(this).children().get(0)) == 'undefined')	$(this).unbind();
	else													$(this).children().unbindAll();
}

jQuery.fn.captcha = function(url) {	//	Создать капчу
	$(this).attr('src',url+'/'+Math.random());
};

jQuery.fn.createImageCode = function(options) {	//	Создать капчу
	options = jQuery.extend({
		scriptUrl: 'ajax/create_imagecode',
		imageUrl: 'ajax/imagecode',
		codeId: 'code',
		codekeyId: 'codekey'
	}, options);
	imagecodeId	= $(this).attr('id');
//	options.scriptUrl	+= '?rnd='+Math.random();

	$.ajax({ url:options.scriptUrl, async: false,
		    success: function(response){
				if (response != "0")
				{
					options.imageUrl	+=	'/'+response;	//+'&rnd'+Math.random();
					$('#'+imagecodeId).attr('src',options.imageUrl);
					$('#'+options.codekeyId).val(response);
				}
			}
	});
};