function include(url) {
  var script = document.createElement('script');
  script.setAttribute('type', 'text/javascript')
  script.setAttribute('src', url);
  document.getElementsByTagName('head').item(0).appendChild(script);
}


function get_rand_string (maxlen)
{
	some_symbols = Array('q','w','e','r','t','y','u','i','o','p','a','s','d','f','g','h','j','k','l','z','x','c','v','b','n','m','1','2','3','4','5','6','7','8','9','0');
	len		= Math.round(Math.random()*maxlen);
	count	= some_symbols.length;
	rand_str = '';
	for (i=0;i<len;i++)
	{
		rand_str = rand_str + some_symbols[Math.round(Math.random()*count)];
	}
	return rand_str;
}

function getScrollY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
  }
  return scrOfY;
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Для нижеследующих функций необходима подгрузка JQuery
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


function init_rParent ()
{
	 $("a.rParent").click(function(){
	    var pid = $(this).parent().attr('id');
	    $('#'+pid).remove();
	    return false;
	});
}


function init_duplicate()
{
	var del_control = '<a href="#" title="Удалить телефон" class="rParent"><img src="/img/icon_del.gif"></a>';
	$("a.duplicate").click(function () { 
		var duplicate	= $(this).attr('alt');		// смотрим по ссылке кого будем дублировать
		var new_id		= get_rand_string (8);		// генерирование уникального id
		// делаем дубликат с присвоением уникального сгенерированного id и удалением css.класса-ключа на дублирование
		$("#"+duplicate).clone(true).attr({id:new_id}).removeClass(duplicate).css('display','none').insertBefore(this);
		
		// очищаем все поля дубликата
		$("#"+new_id+" input:only-child").val('');
		$("#"+new_id).append(del_control).show(300,function(){
			$('input:text').setMask(); // вызываем инит масок ввода для вновь добавленных полей
			init_rParent();
		}); // удаление элемента родителя
		
		return false;
    });
    init_rParent();
}


function is_free_user_param (param)
{
	path			= '/ajax/free_user_param.php';
	status_css_id	= 'status'+param;
	status_free 	= ' <span id="'+status_css_id+'">свободен</span>';
	status_busy 	= ' <span id="'+status_css_id+'">занят</span>';
	value 			= $('#'+param).val();
	
	if ( param == false || param == undefined )
	return true;
	
	// проверяем не пустое ли значение
	if ( value != "" && value != 0 )
	{
		// запрашиваем в БД
		$.post(path, {key:param,value:value},
		function(data)
		{
			$('#'+status_css_id).remove();
			// если есть выводим логин
			if ( data == 1 )
			{
				$('#'+param).after(status_free);
			}
			// если нет показываем регистрацию
			else if ( data == 0 )
			{
				$('#'+param).after(status_busy);
			}
		});
	}
}


function check_email_format(param)
{
	status_css_id	= 'status'+param;
	status_err		= ' <span id="'+status_css_id+'">неверный формат</span>';
	emailString 	= $('#'+param).val();
	emailpat 		= /^([a-zA-Z0-9_-])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9]+)+$/;
	if (!emailpat.test( emailString ))
	{
		$('#'+status_css_id).remove();
		$('#'+param).after(status_err);
		return false;
	}
	return true;
}


// переключение состояния слоя и родительского checkbox'a
function checkbox_sh_switcher(parent, block)
{
	var bl = $(parent).val();
	
	if ( bl == 0 )
	{
		$(parent).val(1);
		$(block).show("2000");
	}
	else if ( bl == 1 )
	{
		$(parent).val(0);
		$(block).hide("2000");
	}
}


// проверка состояния родительского checkbox'a и переключение слоя
function checkbox_sh_checker (parent, block)
{
	var bl = $(parent).val();
	
	if ( bl == 0 )
	{
		$(block).hide("2000");
	}
	else if ( bl == 1 )
	{
		$(block).show("2000");
	}
}


this.tooltip = function(){	
	// distance from the cursor	
	xOffset = 10;
	yOffset = 20;
	
	$(".tooltip").hover(function(e){											  
		this.t = this.title;
		this.title = "";									  
		$("body").append("<p id='tooltip'>"+ this.t +"</p>");
		$("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px")
			.fadeIn("fast");		
    },
	function(){
		this.title = this.t;		
		$("#tooltip").remove();
    });	
	$(".tooltip").mousemove(function(e){
		$("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px");
	});
};


// Определение реальной ширины блока
function getRealWidth(cssid)
{
	pLeftStr	= $('#'+cssid).css('padding-left');
	pRightStr	= $('#'+cssid).css('padding-right');
	widthStr	= $('#'+cssid).css('width');
	width		= parseInt(widthStr.replace('px',''))+parseInt(pLeftStr.replace('px',''))+parseInt(pRightStr.replace('px',''));
	return width;
}


// отображение указанного блока с привязкой к месту клика
function fadeBlock (cssid,e)
{
	$('#'+cssid).hide(500,function(){
		width 		= getRealWidth(cssid);
		coordX		= (e.pageX-width);
		if ( coordX<0)	coordX		= e.pageX;	// Если край блока вылазит за экран
		$('#'+cssid).css({'top': e.pageY, 'left': coordX+'px'});
		$('#'+cssid).fadeIn(500);
	})
}

// центровка блока
function centrate_block(css_id)
{
	w = document.body.clientWidth;
	h = document.body.clientHeight;
	
	eval('ww = '+css_id+'.offsetWidth;');
	eval('hh = '+css_id+'.offsetHeight;');
	
	_left = (w-ww)/2-w/10;
	_top = (h-hh)/2-h/5+getScrollY();
	
	$("#"+css_id).css('position:','absolute');
	$("#"+css_id).css('top',_top+'px');
	$("#"+css_id).css('left',_left+'px');
}


function base_init()
{
	$(".close").click(function(){$('#'+$(this).attr('alt')).hide(500);return false;})
	$('._switcher').click(function(){$('#'+$(this).attr('alt')).toggle(500); return false;});
	tooltip();
	init_duplicate();
}
