var mode = '';
//var mode = 'debug';

var calc_dpo_php =              '/special/calc/dpo/proceed';
var calc_php =                  '/special/calc/ops/proceed';
var search1_regdep_php =        '/regions/search';
var search2_city_php =          '/regions/search2/cities';
var search2_regdep_php =        '/regions/search2';
var news_php =                  'news.php';
var ajax_loader =               '/img/ajax-loader.gif';
var ajax_loader_alt =           'Пожалуйста, подождите. Идет загрузка данных с сервера';

var http_request = false;

//tab control
var tab_count = 0;
var tabs = new Array();//cash
var pages = new Array();//cash
var def_class = '';
var sel_class = '';
var selected = 0;

//news pagenav
var news_page_count;//количество страниц
var news_pages_per_pageview = 10;//количество страниц отображаемых в pagenav
var news_pagenave_view = 1;
var news_current_page = 1;//текущая страница

//icon wnd
var icons = new Array();//cash
var sels = new Array();//cash
var txts = new Array();//cash
var icons_html = new Array();
var selected_icon = 0;
var icon_choice_n = 0;
var icon_choice_html_undo = '';
var icon_choice_text_undo = '';
var prevent_hide = 0;

//IDs

//news (ajax: getNewsPage(), onGetNewsPage())
var form_news_page_n =		'n';			//javascript call
var form_news_result = 		'news_holder';		//div

//search1 (ajax: getRegion(), onChangeGetRegion())
var form_s1_reg =		'db_region';		//select
var form_s1_submit =		'btnRegSearch';		//button
var form_s1_result =		'region_deps';		//div

//search2 (ajax: getCities(), onChangeGetCities(), getRegionDeps(), onChangeRegionDeps())
var form_s2_reg =		'db_region';		//select
var form_s2_city =		'db_city';		//select
var form_s2_submit =		'btnRegSearch';		//button
var form_s2_result1 =		'cities';		//div
var form_s2_result2 =		'region_deps';		//div

//calc (ajax: CalcEvalValidation(), onChangeCalc())
var form_calc_sex_m =	 	'sex_1';		//radio
var form_calc_sex_w =	 	'sex_2';		//radio
var form_calc_birth_d = 	'db_day';		//text
var form_calc_birth_m = 	'db_month';		//select
var form_calc_birth_y = 	'year';			//text
var form_calc_salary =		'salary';		//text
var form_calc_yearin =		'db_year';		//select
var form_calc_capital =		'capital';	//text
var form_calc_rise =		'db_incr';		//select
var form_calc_income =		'db_income';		//select
var form_calc_submit = 		'submit';		//button
var form_calc_result = 		'dpo_result';		//div

//calc_dpo (ajax: Calc5EvalValidation(), onChangeCalc5EvalValidation())
var form_calcdpo_sex_m =	'sex_1';		//radio
var form_calcdpo_sex_w =	'sex_2';		//radio
var form_calcdpo_birth_m = 	'db_month';		//select
var form_calcdpo_birth_y = 	'year';			//select
var form_calcdpo_m = 		'db_month2';		//select
var form_calcdpo_y = 		'year2';		//select
//optional fieldsets tab0
var form_calcdpo0_desired_out =	'wished';		//text
var form_calcdpo0_desired_period ='wished_output';	//select
//optional fieldsets tab1
var form_calcdpo1_in_val =	'needed1';		//text
var form_calcdpo1_out_val =	'period1';		//select
var form_calcdpo1_out_type =	'tipvipl1';		//select
//hiddens
var form_calcdpo_slider =	'period_lenth_v';	//hidden
var form_calcdpo_tab =		'tab_selected';		//hidden
var form_calcdpo_submit = 	'submit';		//button
var form_calcdpo_result = 	'dpo_result';		//button

//order (post)
var form_order_surname =	'last_name';		//text
var form_order_name =		'name';			//text
var form_order_patronymic = 	'seconadry_name';	//text
var form_order_sex_m =	 	'sex_1';		//radio
var form_order_sex_w =	 	'sex_2';		//radio
var form_order_birth_d = 	'db_day';		//text
var form_order_birth_m = 	'db_month';		//select
var form_order_birth_y = 	'db_year';		//text
var form_order_town = 		'city';			//text
var form_order_phone = 		'phone_number';		//text
var form_order_email = 		'email';		//text
var form_order_yquestion =	'transfered_y';		//radio
var form_order_nquestion =	'transfered_n';		//radio
var form_order_attract = 	'what_attracts';	//textarea
var form_order_submit = 	'submit';		//button

//registration (post)
var form_reg_surname = 		'last_name';		//text
var form_reg_name =		'name';			//text
/*var form_reg_patronymic = 	'next_name';		//text*/
var form_reg_email = 		'mail_address';		//text
var form_reg_login = 		'login';		//text
var form_reg_password =		'password';		//password
var form_reg_repeat = 		'repeat';		//password
var form_reg_sysname = 		'system_name';		//text
var form_reg_informed = 	'info';			//textarea
var form_reg_captcha = 		'captcha';		//text
var form_reg_submit = 		'submit';		//button

//auth (post)

function init(page_name){
	switch(page_name){
		case 'index':
				tab_count = 4;
				def_class='infobar_cell preview_info';
				sel_class='infobar_cell view_info';
				for(var i=0;i<tab_count;i++){
					tabs[i] = this.document.getElementById('tab'+i);
				}
				selected = 0;
				break;
		case 'tabs':
				tab_count = 3;
				def_class='';
				sel_class='active';
				for(var i=0;i<tab_count;i++){
					tabs[i] = this.document.getElementById('tab'+i);
				}
				for(var i=0;i<tab_count;i++){
					pages[i] = this.document.getElementById('page'+i);
				}
				selected = -1;
				var selected_new = 0;
				var regexp_result = /^#tab([0-2])$/.exec(window.location.hash);
				if (regexp_result) selected_new = regexp_result[1];
				read(selected_new);
				break;
		case 'calc_dpo':
				tab_count = 3;
				def_class='col_2';
				sel_class='col_2 this';
				for(var i=0;i<tab_count;i++){
					tabs[i] = this.document.getElementById('tab'+i);
				}
				selected = 0;
				//set tab0
				viewf(0);
				this.document.getElementById('sex_1').focus();
				this.document.getElementById('sex_1').blur();
				break;
		case 'news':
				pagenav_init();
				break;
	}
}
function init_ico(){//Icon Wnd init (must be called from each page with Ico Wnd)
	for(var i=1;i<pngs.length;i++){
		txts[i] = this.document.getElementById('ico_'+i+'_txt');
	}
	for(var i=1;i<pngs.length;i++){
		icons[i] = this.document.getElementById('ico_'+i);
	}
	for(var i=0;i<pngs.length;i++){
		icons_html[i] = '<span style="display:inline-block; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='+pngs[i]+');"><img src="'+pngs[i]+'" width="55" height="55" alt="" title="" class="png" /></span>';
	}
	for(var i=1;i<pngs.length;i++){
		sels[i] = this.document.getElementById('ico_'+i+'_sel');
	}
}
function makeGETRequest(url, parameters, afteraction){
	http_request = false;
	if (window.XMLHttpRequest){
		http_request = new XMLHttpRequest();
			if (http_request.overrideMimeType){
				http_request.overrideMimeType('text/html');
			}
	}
	else if (window.ActiveXObject){
		try{
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		}
			catch (e){
			try{
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e){}
		}
	}
	if (!http_request) {
		return false;
	}
	http_request.onreadystatechange=afteraction
	http_request.open("GET",url+'?'+parameters,true)
	http_request.send(null)
}
function ParamPrepare(id){
	var value = 'NOTFOUND';
	var input = this.document.getElementById(id);
	if(input)
		value = id+'='+encodeURI(input.value);
	return value;
}
function ParamPrepareRadio(id){
	var value = 'NOTFOUND';
	var input = this.document.getElementById(id);
	if(input)
		value = id+'='+encodeURI(input.checked);
	return value;
}
function preloader(){
	return '<div style="text-align:center; width:100%;"><img src="'+ajax_loader+'" alt="'+ajax_loader_alt+'" title="'+ajax_loader_alt+'" style="margin:50px 0;" /></div>';
}
function GetPosY(id){
	var obj = document.getElementById(id);
	var curTop = 0;
	while (obj.offsetParent){
		curTop += obj.offsetTop;
		obj = obj.offsetParent;
	}
	return curTop;
}
function GetPosX(id){
	var obj = document.getElementById(id);
	var curLeft = 0;
	while (obj.offsetParent){
		curLeft += obj.offsetLeft;
		obj = obj.offsetParent;
	}
	return curLeft;
}
function RegisterEventHandler (object, eventName, handler){
	if (object.attachEvent)
		object.attachEvent ('on' + eventName, handler);
	else if (object.addEventListener)
		object.addEventListener (eventName, handler, true);
}
function debug(poststr,action,method){
	var debug_wnd = this.document.getElementById('debug_wnd');
	if (!debug_wnd){
		this.document.body.innerHTML += '<div id="debug_wnd" style="position:absolute;top:10px;left:10px;background:#ccc;font-size:9pt;overflow:hidden;padding:1em;text-align:left;" onclick="this.innerHTML=\'\';this.style.padding=\'0\'"></div>';
		debug_wnd = this.document.getElementById('debug_wnd');
	}
	poststr = poststr.replace(/&/g, '<br />&');
	debug_wnd.style.padding = '1em';
	debug_wnd.innerHTML = '<code><span style="color:#ddd !important;">'+method+'<br />'+action+'</span><br /><br /><span style="color:#fff !important;">?'+poststr+'</span></code>';
}
/* MAIN PAGE */
var animate_flag = false;
var animate_timer = null;
var animate_start = 0;
var animate_duration = 400;
var animate_common = 0;
var animate_active = 0;
var animate_ready = false;
var animate_1, animate_2;

function animate() {
	var date = new Date();
	var time = date.getTime();
	var delta;
	if (animate_flag) {
		time -= animate_start;
		delta = animate_active - animate_common;
		if (time >= animate_duration) {
			animate_flag = false;
			animate_1.style.width = animate_common + 'px';
			animate_2.style.width = animate_active + 'px';
		} else {
			delta = Math.round(delta * ((-Math.cos(time/animate_duration * Math.PI)/2) + 0.5));
			animate_1.style.width = (animate_active - delta) + 'px';
			animate_2.style.width = (animate_common + delta) + 'px';
		}
	} else {
		animate_flag = true;
		animate_start = time;
		animate_1.className = def_class;
		animate_2.className = sel_class;
	}
	if (animate_flag) {
		animate_timer = window.setTimeout('animate()', 16);
	}
}

function view(tab){
	if (tabs.length == 4 && animate_ready && tab != selected) {
		if (animate_flag) {
			clearTimeout(animate_timer);
			animate_1.style.width = animate_common + 'px';
			animate_2.style.width = animate_active + 'px';
			animate_1.className = def_class;
			animate_2.className = sel_class;
			animate_flag = false;
		}
		animate_1 = tabs[selected];
		animate_2 = tabs[tab];
		animate_active = $(animate_1).width();
		animate_common = $(animate_2).width();
		selected = tab;
		animate();
		return false;
	} else {
		return true;
	}
}

/* TABS */
function read(tab){
	if (pages[selected]) pages[selected].className = def_class;
	if (pages[tab]) pages[tab].className = sel_class;

	if(tab!=selected){
		if (tabs[selected]) tabs[selected].className = def_class;
		if (tabs[tab]) tabs[tab].className = sel_class;
		selected = tab;
	}
}
/* WND */
function show(p_id,w_id,cl_name){
	var btns = this.document.getElementById('ico_buttons');
	if(btns){
		btns.className = 'hidden';
	}
	var x = GetPosX(p_id) + 66;
	var y = GetPosY(p_id) - 20;
	this.document.getElementById(w_id).style.left = x;
	this.document.getElementById(w_id).style.top = y;
	this.document.getElementById(w_id).className = cl_name;
	y -= this.document.getElementById(w_id).offsetHeight;
	this.document.getElementById(w_id).style.top = y;

	//prevent hide for #wnd0
	if(w_id=='wnd0')
		prevent_hide = 0;
}
function hide(w_id){
	if(w_id!='wnd0'){
		this.document.getElementById(w_id).className = 'hidden';
	}
	else{
		//prevent hide for #wnd0
		if(!prevent_hide) {
			undo_sel();
			this.document.getElementById(w_id).className = 'hidden';
		}
		prevent_hide = (prevent_hide) ? 0 : 1;
	}
}
/* ICON WND */
function sel_in(n){
	sels[n].className = 'ch_icon';
	if (selected_icon){
		icons[selected_icon].innerHTML = icons_html[selected_icon];
		txts[selected_icon].innerHTML = texts[selected_icon];
		sels[selected_icon].className = 'hidden';
	}

	icons[n].innerHTML = icons_html[0];
	txts[n].innerHTML = texts[0];
	selected_icon = n;
}
function sel_out(n){
	if (selected_icon){
		icons[selected_icon].innerHTML = icons_html[selected_icon];
		txts[selected_icon].innerHTML = texts[selected_icon];
		sels[selected_icon].className = 'hidden';
	}
	selected_icon = 0;
}
function save_icon(n){
	//undo
	undo_sel();
	//backup
	icon_choice_html_undo = icons_html[n];
	icon_choice_text_undo = texts[n];
	//save
	icons_html[n] = icons_html[0];
	texts[n] = texts[0];
	txts[n].innerHTML = texts[0];
	icon_choice_n = n;
	//save value to hidden input
	this.document.getElementById('icon_choice_n').value = icon_choice_n;
	//show a form
	this.document.getElementById('ico_buttons').className = 'ico_buttons';
	prevent_hide = 1;
}
function undo_sel(){
	//undo
	if(icon_choice_n){
		icons_html[icon_choice_n] = icon_choice_html_undo;
		icons[icon_choice_n].innerHTML = icon_choice_html_undo;

		texts[icon_choice_n] = icon_choice_text_undo;
		txts[icon_choice_n].innerHTML = icon_choice_text_undo;
	}
}
/* NEWS */
function news(h, collapsed_id, expanded_id){
	var hClassName = $("#" + expanded_id).is(":hidden") ? 'expanded' : '';
	h.className = hClassName;
	h.style.color = '#818c98';

	if ($('#' + expanded_id).is(':hidden')) {
		$('#' + collapsed_id).hide();
		$('#' + expanded_id).slideDown();
	} else {
		$('#' + expanded_id).slideUp();
		$('#' + collapsed_id).slideDown();
	}
}
function page(n,caller){
	news_current_page = n;
	getNewsPage(news_current_page);
	caller.blur();
}
function next(caller){
	news_pagenave_view += 1;

	prvnextbtns();

	news_current_page = (news_pagenave_view-1)*news_pages_per_pageview + 1;

	getNewsPage(news_current_page);

	caller.blur();
}
function prv(caller){
	news_pagenave_view -= 1;

	prvnextbtns();

	news_current_page = (news_pagenave_view-1)*news_pages_per_pageview+news_pages_per_pageview;

	getNewsPage(news_current_page);

	caller.blur();
}
function prvnextbtns(){//generate prv,next buttons
	var BtnClassName;
	//next btn
	BtnClassName = ((news_page_count - news_pagenave_view*news_pages_per_pageview)>0) ? '' : 'hidden' ;
	this.document.getElementById('next_page').className = BtnClassName;
	//prv btn
	BtnClassName = (news_pagenave_view>1) ? '' : 'hidden' ;
	this.document.getElementById('prv_page').className = BtnClassName;
}
function pagenav(){//generate pagenave view
	var nav;
	var n;

	var from = (news_pagenave_view-1)*news_pages_per_pageview+1;
	var to = ((news_page_count - news_pagenave_view*news_pages_per_pageview)<news_pages_per_pageview)? news_page_count - news_pagenave_view*news_pages_per_pageview : news_pages_per_pageview;
	to += news_pagenave_view*news_pages_per_pageview;
	var p = from;

	for(var i=1;i<=news_pages_per_pageview;i++){
		nav = this.document.getElementById('p'+i);
		var j = eval((news_pagenave_view-1)*news_pages_per_pageview+i);
		nav.href = 'javascript:page('+j+',this);';
		if(j==news_current_page){
			nav.className = 'cur_page';
		}
		else{
			nav.className = '';
		}
		if(p<=to){
			nav.innerHTML = p;
		}
		else{
			nav.innerHTML = '';
		}
		p += 1;
	}

}
function pagenav_init(){
	var ul = this.document.getElementById('pagenav');
	ul.innerHTML += '<li><a id="prv_page" class="hidden" href="javascript:prv(this);"><&nbsp;назад</a></li>';
	for(var i=1;i<=news_pages_per_pageview;i++){
		ul.innerHTML += '<li><a id="p'+i+'" href="javascript:page('+i+',this);">'+i+'</a></li>';
	}
	ul.innerHTML += '<li><a id="next_page" href="javascript:next(this);">вперед&nbsp;></a></li>';

	prvnextbtns();
	pagenav();
}
function getNewsPage(n){
	pagenav();
	var poststr = form_news_page_n+'='+n;
	if (mode=='debug')
		debug(poststr,news_php,'http_request');
	document.getElementById(form_news_result).innerHTML = preloader();
		makeGETRequest(news_php, poststr, onGetNewsPage);
}
function onGetNewsPage(){
	if (http_request.readyState == 4){
		if (http_request.status == 200){
			result = http_request.responseText;
			document.getElementById(form_news_result).innerHTML = result;
		}
		else{
		}
	}
}
/* SEARCH 1 */
function onSelectRegChanged(val){
	document.getElementById(form_s1_result).innerHTML = '';
	var btn_state = (val==0)? true : false;
	this.document.getElementById(form_s1_submit).disabled = btn_state;
}
function onBtnRegSearchClick(){
	getRegion(form_s1_reg);
}
function getRegion(id){
	var poststr = 'id='+this.document.getElementById(id).value;
	if (mode=='debug')
		debug(poststr,search1_regdep_php,'http_request');
	document.getElementById(form_s1_result).innerHTML = preloader();
		makeGETRequest(search1_regdep_php, poststr, onChangeGetRegion);
}
function onChangeGetRegion(){
	if (http_request.readyState == 4){
		if (http_request.status == 200){
			result = http_request.responseText;
			document.getElementById(form_s1_result).innerHTML = result;
		}
		else{
		}
	}
}
/* SEARCH 2 */
function onSelectRegion(val){
	this.document.getElementById(form_s2_result1).innerHTML = '';
	this.document.getElementById(form_s2_submit).disabled = true;
	document.getElementById(form_s2_result2).innerHTML = '';
	if(val>0){
		getCities(form_s2_reg);
	}
}
function getCities(id){
	var poststr = 'id='+this.document.getElementById(id).value;
	if (mode=='debug')
		debug(poststr,search2_city_php,'http_request');
		makeGETRequest(search2_city_php, poststr, onChangeGetCities);
}
function onChangeGetCities(){
	if (http_request.readyState == 4){
		if (http_request.status == 200){
			result = http_request.responseText;
			document.getElementById(form_s2_result1).innerHTML = result;
		}
		else{
		}
	}
}
function onSelectCity(val){
	document.getElementById(form_s2_result2).innerHTML = '';
	var btn_state = (val==0)? true : false;
	this.document.getElementById(form_s2_submit).disabled = btn_state;
}
function onBtnRegionSearchClick(){
	getRegionDeps(form_s2_city);
}
function getRegionDeps(id){
	var poststr = 'id='+this.document.getElementById(id).value;
	if (mode=='debug')
		debug(poststr,search2_regdep_php,'http_request');
	document.getElementById(form_s2_result2).innerHTML = preloader();
		makeGETRequest(search2_regdep_php, poststr, onChangeRegionDeps);
}
function onChangeRegionDeps(){
	if (http_request.readyState == 4){
		if (http_request.status == 200){
			result = http_request.responseText;
			document.getElementById(form_s2_result2).innerHTML = result;
		}
		else{
		}
	}
}
/* CALC */
function HideCalcResult(){
	if (!$("#error").is(":hidden")){
		$("#error").slideUp("slow");
	}
}
function CalcEval(){
	//hide prv result
	if (!$("#error").is(":hidden")){
		$("#error").slideUp("slow",CalcReEval);
	}
	else{
		//first appearence
		CalcReEval();
	}
}
function CalcReEval(){
		CalcEvalValidation();
}
function CalcEvalValidation(){
	//validate

	var poststr = 	ParamPrepareRadio(form_calc_sex_m)+'&'+
			ParamPrepareRadio(form_calc_sex_w)+'&'+
			ParamPrepare(form_calc_birth_d)+'&'+
			ParamPrepare(form_calc_birth_m)+'&'+
			ParamPrepare(form_calc_birth_y)+'&'+
			ParamPrepare(form_calc_salary)+'&'+
			ParamPrepare(form_calc_yearin)+'&'+
			ParamPrepare(form_calc_capital)+'&'+
			ParamPrepare(form_calc_rise)+'&'+
			ParamPrepare(form_calc_income);
	if (mode=='debug')
		debug(poststr,calc_php,'http_request');
		makeGETRequest(calc_php, poststr, onChangeCalc);
}
function onChangeCalc(){
	if (http_request.readyState == 4){
		if (http_request.status == 200){
			result = http_request.responseText;
			document.getElementById(form_calc_result).innerHTML = result;
			$("#error").slideDown("slow");
		}
		else{
		}
	}
}
/* CALC_DPO */
function viewf(tab){
	//disable all tabs inputs
	for(var i=0;i<tab_count;i++)
		render_inputs(i,true);
	//enable new tab inputs
	render_inputs(tab,false);
	//buttons
	if(tab!=selected){
		tabs[selected].className = def_class;
		tabs[tab].className = sel_class;
		selected = tab;
	}
	//hide result
	//HideResult();
	//set focus
	this.document.getElementById(tab == 0 ? 'wished' : 'needed1').focus();
	//set input hidden value
	this.document.getElementById('tab_selected').value = tab;
}
function render_inputs(tabN,state){
	if(tabN == 0)
		for(var i=0;i<tab0_inputs.length;i++){
			enable_input(tab0_inputs[i],state)
		}
	if(tabN == 1)
		for(var i=0;i<tab1_inputs.length;i++){
			enable_input(tab1_inputs[i],state)
		}
}
function enable_input(inp_id,state){
	this.document.getElementById(inp_id).disabled = state;
}
function info(caller_id){
	var wnd_id;

	switch(selected){
		case 0:
			var select_input = this.document.getElementById('wished_output');
			if(select_input.options[select_input.selectedIndex].text=='пожизненный'){
				wnd_id = 'wnd2';
			}
			else{
				wnd_id = 'wnd1';
			}
			break;
		case 1:

			var select_input = this.document.getElementById('period1');
			if(select_input.options[select_input.selectedIndex].text=='пожизненный'){
				wnd_id = 'wnd2';
			}
			else{
				wnd_id = 'wnd1';
			}
			break;
		case 2: wnd_id = 'wnd3';
			break;
	}
	show(caller_id,wnd_id,'framed');
}
function SaveSliderVal(val){
	this.document.getElementById('period_lenth_v').value = val;
}
function HideResult(){
	if (!$("#error").is(":hidden")){
		$("#error").slideUp("slow");
	}
}
function Calc5Eval(){
	//hide prv result
	if (!$("#error").is(":hidden")){
		$("#error").slideUp("slow",Calc5ReEval);
	}
	else{
		//first appearence
		Calc5ReEval();
	}
}
function Calc5ReEval(){
		Calc5EvalValidation();
}
function Calc5EvalValidation(){
	//validate

	var poststr = 	ParamPrepareRadio(form_calcdpo_sex_m)+'&'+
			ParamPrepareRadio(form_calcdpo_sex_w)+'&'+
			ParamPrepare(form_calcdpo_birth_m)+'&'+
			ParamPrepare(form_calcdpo_birth_y)+'&'+
			ParamPrepare(form_calcdpo_m)+'&'+
			ParamPrepare(form_calcdpo_y);
	//optional fields
	switch (selected){
		case 0: poststr += '&'+ParamPrepare(form_calcdpo0_desired_out)+'&'+
				ParamPrepare(form_calcdpo0_desired_period);
			break;
		case 1: poststr += '&'+ParamPrepare(form_calcdpo1_in_val)+'&'+
				ParamPrepare(form_calcdpo1_out_val)+'&'+
				ParamPrepare(form_calcdpo1_out_type);
			break;
	}
	//hiddens
	poststr += '&'+ParamPrepare(form_calcdpo_slider)+'&'+
				ParamPrepare(form_calcdpo_tab);
	if (mode=='debug')
		debug(poststr,calc_dpo_php,'http_request');
		makeGETRequest(calc_dpo_php, poststr, onChangeCalc5EvalValidation);
}
function onChangeCalc5EvalValidation(){
	if (http_request.readyState == 4){
		if (http_request.status == 200){
			result = http_request.responseText;
			document.getElementById(form_calcdpo_result).innerHTML = result;
			$("#error").slideDown("slow");
		}
		else{
		}
	}
}
/* ORDER */
function Order(){
	//Validation

	//this.document.getElementById('form_order').submit();
}
/* REGISTER */
function Register(){
	//attaching events
	//RegisterEventHandler(input, 'blur', OnBlur);

	//validation

	//this.document.getElementById('register').submit();
}

$(function() {
	var hint_message = '';
	var $hint = $('#hint');
	var $hint_content = $('#hint_content');
	var hint_offset_x = -55;
	var hint_offset_y = 13;
	var hint_caller_left = 0;
	var hint_caller_top = 0;
	var hint_caller_width = 0;
	var hint_caller_height = 0;

	var hint_show = function(x, y, message) {
		if (typeof(message) == 'string' && message.length && message != hint_message) {
			$hint_content.html(message);
			hint_message = message;
		}
		if (hint_message.length){
			$hint.css({left: x + hint_offset_x, top: y + hint_offset_y});
			$hint.show();
		} else {
			$hint.hide();
		}
	}

	$hint.bind('mouseover mousemove', function(event) {
		if (event.pageX >= hint_caller_left && event.pageX <= hint_caller_left + hint_caller_width && event.pageY >= hint_caller_top && event.pageY <= hint_caller_top + hint_caller_height) {
			hint_show(event.pageX, event.pageY - $hint.height());
		} else {
			$hint.hide();
		}
	});

	$hint.bind('mouseout', function(event) {
		$hint.hide();
	});

	$('.hint').each(function() {
		var $this = $(this);
		var title = $this.attr('title');
		if (!title.length) return;
		$this.removeAttr('title');
		var caller_left = $this.offset().left;
		var caller_top = $this.offset().top;
		var caller_width = $this.width();
		var caller_height = $this.height();
		$this.bind('mouseover mousemove', function(event) {
			hint_caller_left = caller_left;
			hint_caller_top = caller_top;
			hint_caller_width = caller_width;
			hint_caller_height = caller_height;
			hint_show(event.pageX, event.pageY - $hint.height(), title);
		});
		$this.bind('mouseout', function(event) {
			if (event.pageX < caller_left || event.pageX > caller_left + caller_width || event.pageY < caller_top || event.pageY > caller_top + caller_height) {
				$hint.hide();
			}
		});
	});
});

