// get top scroll
function get_top ()
{
	return self.pageYOffset || 
    (document.documentElement && document.documentElement.scrollTop) || 
    (document.body && document.body.scrollTop);
}

// show popup
function show_popup (elem)
{
	var ua = navigator.userAgent.toLowerCase();
	var isIE = (ua.indexOf("msie 6") != -1 && ua.indexOf("opera") == -1);
	var popups = document.getElementById('popups');
	if (isIE)
	{
		popups.style.top = get_top() + 'px';
	}
	popups.style.display = 'block';

	document.getElementById('popup_'+elem).style.display = 'block';
	document.getElementById('captcha1').src = '/images/empty.gif';
	document.getElementById('captcha2').src = '/images/empty.gif';
	document.getElementById('captcha3').src = '/images/empty.gif';
	
	var cp4 = document.getElementById('captcha4');
	if (cp4)
	{
		cp4.src = 'images/empty.gif';
	}

	clear_error ('error_box');
	clear_error ('error_box2');
	clear_error ('error_box3');
	clear_error ('error_box4');	
	clear_error ('error_box5');	

	if (elem == 'enter')
	{
		reload_captcha_only ('captcha1');
	}
	if (elem == 'reg')
	{
		reload_captcha_only ('captcha2');
	}
	if (elem == 'forgot')
	{
		reload_captcha_only ('captcha3');
	}
	if (elem == 'feedback')
	{
		reload_captcha_only ('captcha4');
	}
}

// clear error box
function clear_error (error_id)
{
	var error_box = document.getElementById(error_id);
	if (error_box)
	{
		error_box.innerHTML = '';
	}
}

// show popup zp
function show_popup_zp (elem, trans_id, trans_name, trans_ballance)
{
	var ua = navigator.userAgent.toLowerCase();
	var isIE = (ua.indexOf("msie 6") != -1 && ua.indexOf("opera") == -1);
	var popups = document.getElementById('popups');
	if (isIE)
	{
		popups.style.top = get_top() + 'px';
	}

	document.getElementById('trans_id').value = trans_id;
	document.getElementById('trans_name').innerHTML = trans_name;
	document.getElementById('trans_ballance').innerHTML = trans_ballance;

	popups.style.display = 'block';
	document.getElementById('popup_'+elem).style.display = 'block';
}

// show register window
function show_reg ()
{
	document.getElementById('popup_enter').style.display = 'none';
	document.getElementById('popup_reg').style.display = 'block';
	reload_captcha_only ('captcha2');
}

// show register window from message
function show_reg2 ()
{
	reload_captcha_only ('captcha2');
	document.getElementById('popup_msg_notreg').style.display = 'none';
	document.getElementById('popup_reg').style.display = 'block';
}

// show auth window
function show_auth ()
{
	reload_captcha_only ('captcha1');
	document.getElementById('popup_msg_notreg').style.display = 'none';
	document.getElementById('popup_enter').style.display = 'block';
}

// close register window
function close_popup (elem)
{
	document.getElementById('popups').style.display = 'none';
	document.getElementById('popup_'+elem).style.display = 'none';
}

// show success zp
function show_success_zp ()
{
	document.getElementById('popup_give_zp').style.display = 'none';
	document.getElementById('popup_success_zp').style.display = 'block';
}

// show forgot window
function show_forgot ()
{
	document.getElementById('popup_enter').style.display = 'none';
	document.getElementById('popup_forgot').style.display = 'block';
	reload_captcha_only ('captcha3');
}


// go to add comment
function go_to_add_comm ()
{
//	alert (window.location);
	window.location = window.location + '#add_comm_link';
	document.getElementById('comm_area').focus();
}

// show fast answer
function show_fast_answer (elem)
{
	var children = elem.parentNode.parentNode.childNodes;
	var zform;
	for (var i=0; i<children.length; i++)
	{
		if (children[i].tagName == 'FORM')
		{
			zform = children[i];
		}
	}

	if (zform.className == '')
	{
		zform.style.display = 'block';
		zform.className = 'opened';
	}
	else
	{
		zform.style.display = 'none';
		zform.className = '';
	}

	var children2 = zform.childNodes;
	for (var i=0; i<children2.length; i++)
	{
		if (children2[i].tagName == 'TEXTAREA')
		{
			children2[i].focus();
		}
	}

}


// show_answer
function show_answer (elem)
{
	var children = elem.parentNode.parentNode.childNodes;
	for (var i=0; i<children.length; i++)
	{
		if (children[i].className == 'faq_answer')
		{
			elem.className = 'active';
			children[i].style.display = 'block';
			children[i].className = 'faq_answer opened';
			break;
		}
		if (children[i].className == 'faq_answer opened')
		{
			elem.className = '';
			children[i].style.display = 'none';
			children[i].className = 'faq_answer';
			break;
		}
	}
}


// tabs functions
function show_tab_cont (this_elem, elem)
{
	var tabs_parent = document.getElementById('tabs');

	// set all tabs in passive state
	var tabs_children = tabs_parent.childNodes;
	for (var i=0; i<tabs_children.length; i++)
	{
		if (tabs_children[i].tagName == 'DIV')
		{
			tabs_children[i].className = 'tab';
		}
	}

	// set active tab
	this_elem.parentNode.className = 'tab tab_act';

	// show tab content
	var tabs_cont_names = new Array();
	tabs_cont_names[0] = 'tab_cont_Headsets';
	tabs_cont_names[1] = 'tab_cont_Phones';
	tabs_cont_names[2] = 'tab_cont_Webcams';

	for (var i=0; i<tabs_cont_names.length; i++)
	{
		document.getElementById(tabs_cont_names[i]).style.display = 'none';
	}

	document.getElementById(elem).style.display = 'block';
}


// show subtext
function show_sub_text (elem)
{
	var children = elem.childNodes;
	for (var i=0; i<children.length; i++)
	{
		if (children[i].className == 'wnew_text')
		{
			children[i].style.display = 'block';
		}
	}
}

// hide subtext
function hide_sub_text (elem)
{
	var children = elem.childNodes;
	for (var i=0; i<children.length; i++)
	{
		if (children[i].className == 'wnew_text')
		{
			children[i].style.display = 'none';
		}
	}
}


// select langs
function select_all_langs (elem)
{
	var str = '';
	if (elem.checked)
	{
		for (var i=0; i<langs_num; i++)
		{
			document.getElementById('chk_sel_0'+i).checked = true;
		}
	}
	else
	{
		for (var i=0; i<langs_num; i++)
		{
			document.getElementById('chk_sel_0'+i).checked = false;
		}
	}
}

function check_all_langs ()
{
	var checked_all = true;
	var main_check = document.getElementById('chk_sel_all');

	var children = document.getElementById('langs_sel').childNodes;
	for (var i=0; i<children.length; i++)
	{
		if (children[i].tagName == 'INPUT')
		{
			if ( (children[i].id != 'chk_sel_all') && (!children[i].checked) )
			{
				checked_all = false;
				break;
			}
		}
	}

	if (checked_all)
	{
		main_check.checked = true;
	}
	else
	{
		main_check.checked = false;
	}
}

var langs_num = 0;

function get_langs_num ()
{
	var children = document.getElementById('langs_sel').childNodes;
	for (var i=0; i<children.length; i++)
	{
		if (children[i].tagName == 'INPUT')
		{
			langs_num++;
		}
	}
	langs_num--;
}

function select_all_langs_onstart ()
{
	get_langs_num();

	if (document.getElementById('is_draft').value == '1') {
		document.getElementById('chk_sel_all').checked = true;
	}

	var children = document.getElementById('langs_sel').childNodes;
	var a = 0;
	for (var i=0; i<children.length; i++)
	{
		if ( (children[i].tagName == 'INPUT') && (children[i].id == '') )
		{
			children[i].id = 'chk_sel_0' + a;
			if (document.getElementById('is_draft').value == '1') {
				children[i].checked = true;
			} else {
				children[i].checked = false;
			}
			a++;
		}
	}
}


// tabs functions
function show_trans_need ()
{
	document.getElementById('tab_need').className = 'tab act';
	document.getElementById('tab_ready').className = 'tab';
	document.getElementById('tab_cont_ready').style.display = 'none';
	document.getElementById('tab_cont_need').style.display = 'block';
}

function show_trans_ready ()
{
	document.getElementById('tab_ready').className = 'tab act';
	document.getElementById('tab_need').className = 'tab';
	document.getElementById('tab_cont_need').style.display = 'none';
	document.getElementById('tab_cont_ready').style.display = 'block';
}


// show view field
function show_view_field()
{
	var chk_view = document.getElementById('check_view');
	if (chk_view.checked)
	{
		document.getElementById('view_field').style.display = 'block';
		document.getElementById('view_span').style.display = 'block';
	}
	else
	{
		document.getElementById('view_field').style.display = 'none';
		document.getElementById('view_span').style.display = 'none';
	}
}


// check correct

// translators
function check_correct_trans (fio)
{
	var error_box = document.getElementById('error_box');

	if ((document.getElementById('add_tr_fio').value == '') && (fio=='fio'))
	{
		error_box.innerHTML = document.getElementById('err_name').value;
		return false;
	}

	if ((document.getElementById('add_tr_mail').value == '') && (fio=='fio'))
	{
		error_box.innerHTML = document.getElementById('err_email').value;
		return false;
	}

	if ( (!email_valid(document.getElementById('add_tr_mail').value)) && (fio=='fio'))
	{
		error_box.innerHTML = document.getElementById('err_email_incor').value;
		return false;
	}

	if ((document.getElementById('add_tr_pass1').value == '') && (fio=='fio'))
	{
		error_box.innerHTML = document.getElementById('err_pass').value;
		return false;
	}

	if ((document.getElementById('add_tr_pass2').value == '') && (fio=='fio'))
	{
		error_box.innerHTML = document.getElementById('err_pass_twice').value;
		return false;
	}

	if (document.getElementById('add_tr_pass1').value != document.getElementById('add_tr_pass2').value)
	{
		error_box.innerHTML = document.getElementById('err_pass_match').value;
		return false;
	}

	return true;
}

// adm auth
function check_correct_adm_auth ()
{
	var correct = true;
	var error_box = document.getElementById('error_box');

	if (document.getElementById('adm_auth_name').value == '')
	{
		error_box.innerHTML = document.getElementById('err_email').value;
		return false;
	}

	if (!email_valid(document.getElementById('adm_auth_name').value))
	{
		error_box.innerHTML = document.getElementById('err_email_incor').value;
		return false;
	}

	if (document.getElementById('adm_auth_pass').value == '')
	{
		error_box.innerHTML = document.getElementById('err_pass').value;
		return false;
	}

	return true;
}

// site auth
function check_correct_site_auth ()
{
	var correct = true;
	var error_box = document.getElementById('error_box');

	if (document.getElementById('site_auth_mail').value == '')
	{
		error_box.innerHTML = document.getElementById('err_email').value;
		return false;
	}

	if (!email_valid(document.getElementById('site_auth_mail').value))
	{
		error_box.innerHTML = document.getElementById('err_email_incor').value;
		return false;
	}

	if (document.getElementById('site_auth_pass').value == '')
	{
		error_box.innerHTML = document.getElementById('err_pass').value;
		return false;
	}

	if (document.getElementById('site_auth_code').value == '')
	{
		error_box.innerHTML = document.getElementById('err_captcha').value;
		return false;
	}

	return true;
}


// check register
function check_correct_reg ()
{
	var error_box = document.getElementById('error_box2');

	if (document.getElementById('site_reg_name').value == '')
	{
		error_box.innerHTML = document.getElementById('err_name').value;
		return false;
	}

	if (document.getElementById('site_reg_mail').value == '')
	{
		error_box.innerHTML = document.getElementById('err_email').value;
		return false;
	}

	if (!email_valid(document.getElementById('site_reg_mail').value))
	{
		error_box.innerHTML = document.getElementById('err_email_incor').value;
		return false;
	}

	if (document.getElementById('site_reg_pass1').value == '')
	{
		error_box.innerHTML = document.getElementById('err_pass').value;
		return false;
	}

	if (document.getElementById('site_reg_pass2').value == '')
	{
		error_box.innerHTML = document.getElementById('err_pass_twice').value;
		return false;
	}

	if (document.getElementById('site_reg_pass1').value != document.getElementById('site_reg_pass2').value)
	{
		error_box.innerHTML = document.getElementById('err_pass_match').value;
		return false;
	}

	if (document.getElementById('site_reg_code').value == '')
	{
		error_box.innerHTML = document.getElementById('err_captcha').value;
		return false;
	}

	return true;
}

// check forgot password
function check_correct_fpass ()
{
	var error_box = document.getElementById('error_box3');

	if (document.getElementById('site_fpass_mail').value == '')
	{
		error_box.innerHTML = document.getElementById('err_email').value;
		return false;
	}

	if (!email_valid(document.getElementById('site_fpass_mail').value))
	{
		error_box.innerHTML = document.getElementById('err_email_incor').value;
		return false;
	}

	if (document.getElementById('site_fpass_code').value == '')
	{
		error_box.innerHTML = document.getElementById('err_captcha').value;
		return false;
	}

	return true;
}

// check feedback
function check_correct_feedback ()
{
	var error_box = document.getElementById('error_box5');

	if (document.getElementById('site_feedback_name').value == '')
	{
		error_box.innerHTML = document.getElementById('err_name').value;
		return false;
	}

	if (document.getElementById('site_feedback_mail').value == '')
	{
		error_box.innerHTML = document.getElementById('err_email').value;
		return false;
	}

	if (!email_valid(document.getElementById('site_feedback_mail').value))
	{
		error_box.innerHTML = document.getElementById('err_email_incor').value;
		return false;
	}

	if (document.getElementById('site_feedback_msg').value == '')
	{
		error_box.innerHTML = document.getElementById('err_msg').value;
		return false;
	}

	if (document.getElementById('feedback_code').value == '')
	{
		error_box.innerHTML = document.getElementById('err_captcha').value;
		return false;
	}

	return true;
}

// check user data
function check_correct_user ()
{
	var error_box = document.getElementById('error_box4');

	var pasbit = 0;
	
	if (document.getElementById('site_user_pass_cur').value != '')
	{
		pasbit |= 1;
	}

	if (document.getElementById('site_user_pass_new1').value != '')
	{
		pasbit |= 2;
	}

	if (document.getElementById('site_user_pass_new2').value != '')
	{
		pasbit |= 4;
	}
	if(pasbit != 0 && pasbit != 7) {
		if(pasbit == 1) {
			error_box.innerHTML = document.getElementById('err_new_pass').value;
			return false;
		}
		if(pasbit == 3) {
			error_box.innerHTML = document.getElementById('err_new_pass2').value;
			return false;
		}
		if(pasbit == 6 || pasbit == 4) {
			error_box.innerHTML = document.getElementById('err_cur_pass').value;
			return false;
		}
	}

	if (pasbit != 0 && document.getElementById('site_user_pass_new1').value != document.getElementById('site_user_pass_new2').value)
	{
		error_box.innerHTML = document.getElementById('err_pass_match').value;
		return false;
	}

	return true;
}

// check e-mail correct
function email_valid (email)
{
	return /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(email);
}

// check pass match
function check_pass_match (elem, id_pass1, id_pass2, id_ok, id_no)
{
	var pass1 = document.getElementById(id_pass1).value;
	var pass2 = document.getElementById(id_pass2).value;

	var pass_ok = document.getElementById(id_ok);
	var pass_no = document.getElementById(id_no);

	if ((pass1 == '') && (pass2 == ''))
	{
		pass_ok.style.display = 'none';
		pass_no.style.display = 'none';
	}

	if ((elem.id == id_pass1) && (pass1 != ''))
	{
		if (pass2 == '')
		{
			pass_ok.style.display = 'none';
			pass_no.style.display = 'none';
		}
	}
	if ((elem.id == id_pass2) && (pass2 != ''))
	{
		if (pass1 == '')
		{
			pass_ok.style.display = 'none';
			pass_no.style.display = 'none';
		}
	}

	if ((elem.id == id_pass1) && (pass1 == ''))
	{
		if (pass2 != '')
		{
			pass_ok.style.display = 'none';
			pass_no.style.display = 'none';
		}
	}
	if ((elem.id == id_pass2) && (pass2 == ''))
	{
		if (pass1 != '')
		{
			pass_ok.style.display = 'none';
			pass_no.style.display = 'none';
		}
	}

	if ((pass1 != '') && (pass2 != ''))
	{
		if (pass1 == pass2)
		{
			pass_no.style.display = 'none';
			pass_ok.style.display = 'block';
		}
		else
		{
			pass_ok.style.display = 'none';
			pass_no.style.display = 'block';
		}

	}

}

// clear passwords
function clear_pass (id_pass1, id_pass2)
{
	document.getElementById(id_pass1).value = '';
	document.getElementById(id_pass2).value = '';
}

// reset fio
function reset_fio ()
{
	document.getElementById('add_tr_fio').value = document.getElementById('fio_reset').innerHTML;
}



// show delete button
function show_del_btn (elem)
{
	var temp_link = '';

	if (elem.checked)
	{
		var children = elem.parentNode.childNodes;
		for (var i=0; i<children.length; i++)
		{
			if (children[i].tagName == 'SPAN')
			{
				temp_link = children[i].innerHTML;
			}
			if (children[i].tagName == 'A')
			{
				children[i].className = 'del_btn del_enabled';
				children[i].href = temp_link;
			}
		}
	}
	else
	{
		var children = elem.parentNode.childNodes;
		for (var i=0; i<children.length; i++)
		{
			if (children[i].tagName == 'SPAN')
			{
				temp_link = children[i].innerHTML;
			}
			if (children[i].tagName == 'A')
			{
				children[i].className = 'del_btn';
				children[i].href = 'javascript: void(0);';
			}
		}
	}
}

// disable all checks
function disable_all_checks ()
{
	var children1 = document.getElementById('users_tbl').childNodes;
	for (var i=0; i<children1.length; i++)
	{
		if (children1[i].tagName == 'TBODY') // tbody
		{
			var children2 = children1[i].childNodes; // tr
			for (var j=0; j<children2.length; j++)
			{
				if (children2[j].tagName == 'TR')
				{
					var children3 = children2[j].childNodes; // td
					for (var k=0; k<children3.length; k++)
					{
						if (children3[k].tagName == 'TD')
						{
							var children4 = children3[k].childNodes; // input and link
							for (var d=0; d<children4.length; d++)
							{
								if (children4[d].className == 'chk_for_del')
								{
									children4[d].checked = false;
								}
							}
						}
					}
				}
			}
		}
	}
}






// create xml_http_request object
function createXMLHttp()
{
	if(typeof XMLHttpRequest != "undefined")
	{	
		return new XMLHttpRequest();
	}
	else if(window.ActiveXObject)
	{
		var aVersions = ["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp","Microsoft.XMLHttp"];
		for (var i = 0; i < aVersions.length; i++)
		{
			try { //
				var oXmlHttp = new ActiveXObject(aVersions[i]);
				return oXmlHttp;
			}
			catch (oError)
			{}
		}
		throw new Error("Невозможно создать объект XMLHttp.");
	}
}

// get form data
function getRequestBody(oForm)
{
//	var frame_num = parent.frames.length;
//	var tarea_counter = 0;
	for(var i = 0; i < oForm.elements.length; i++)
	{
		if (oForm.elements[i].tagName == 'TEXTAREA')
		{
/*			document.getElementById('art_prolog').style.display = 'inline';
			document.getElementById('art_text').style.display = 'inline';
			document.getElementById('art_prolog').value = tinyMCE.get('art_prolog').getContent();
			document.getElementById('art_text').value = tinyMCE.get('art_text').getContent();
*/

			var tarea_id = oForm.elements[i].id;
			oForm.elements[i].value = tinyMCE.get(tarea_id).getContent();

//			oForm.elements[i].value = parent.frames[tarea_counter].document.getElementById('tinymce').innerHTML;
//			tarea_counter++;
		}
	}

	var aParams = new Array();
	for(var i = 0; i < oForm.elements.length; i++)
	{
		var sParam = oForm.elements[i].name;
		sParam += "=";
		sParam += encodeURIComponent (oForm.elements[i].value);
		aParams.push(sParam);
	}
	return aParams.join("&");
}

// send request
function sendRequest() {
	tinyMCE.triggerSave(true,true);
	var oForm = document.getElementById('zform');
	var auto_count_elem = document.getElementById('autosave_count');
	auto_count_elem.value++;

	var sBody = getRequestBody(oForm);
	var oXmlHttp = createXMLHttp();

//	document.getElementById('art_prolog').style.display = 'inline';
//	document.getElementById('art_text').style.display = 'inline';

	oXmlHttp.open("POST", document.getElementById('autosave_action').value, true);
//	oXmlHttp.open("POST", "zmail.php", true);
	oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

	oXmlHttp.onreadystatechange = function()
	{
		if(oXmlHttp.readyState == 4)
		{
			if(oXmlHttp.status == 200)
			{
				saveResult(oXmlHttp.responseText);
			}
//			else
//			{
//				saveResult("Ошибка: " + oXmlHttp.statusText);
//			}
		}
	};

	oXmlHttp.send(sBody);
}

// save result (get answer)
function saveResult (res_text)
{
	current_date = new Date();
	var h = "0" + current_date.getHours();
	var m = "0" + current_date.getMinutes();
	var s = "0" + current_date.getSeconds();
	document.getElementById('save_time').innerHTML = 'Черновик сохранен в ' + h.slice(-2) + ':' + m.slice(-2) + ':' + s.slice(-2);

	if (document.getElementById('is_draft').value == '1')
	{
		document.getElementById('id_article').value = res_text;
	}
}

// autosave
function auto_save ()
{
	setInterval(function()
	{
		sendRequest();
	},
	60000);
}

// set textarea text with mce api
function set_tarea_text ()
{
	document.getElementById('art_prolog').style.display = 'inline';
	document.getElementById('art_text').style.display = 'inline';
	document.getElementById('art_prolog').value = tinyMCE.get('art_prolog').getContent();
	document.getElementById('art_text').value = tinyMCE.get('art_text').getContent();
}




// send request auth
function sendRequest_auth () {

	if ( check_correct_site_auth() )
	{
		var oForm = document.getElementById('auth_form');

		var aParams = new Array();
		for(var i = 0; i < oForm.elements.length; i++)
		{
			var sParam = oForm.elements[i].name;
			sParam += "=";
			sParam += encodeURIComponent (oForm.elements[i].value);
			aParams.push(sParam);
		}
		var sBody = aParams.join("&");

		var oXmlHttp = createXMLHttp();

		oXmlHttp.open("POST", oForm.action, true);
		oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

		oXmlHttp.onreadystatechange = function()
		{
			if(oXmlHttp.readyState == 4)
			{
				if(oXmlHttp.status == 200)
				{
					saveResult_auth(oXmlHttp.responseText);
				}
			}
		};

		oXmlHttp.send(sBody);
	}

}

// save result auth
function saveResult_auth (res_text)
{
	if (res_text == 'success')
	{
		location.reload ();
	}
	else
	{
		document.getElementById('error_box').innerHTML = document.getElementById('auth_error_message').value+': '+res_text;
	}
}




// send request reg
function sendRequest_reg () {

	if ( check_correct_reg() )
	{
		var oForm = document.getElementById('reg_form');

		var aParams = new Array();
		for(var i = 0; i < oForm.elements.length; i++)
		{
			var sParam = oForm.elements[i].name;
			sParam += "=";
			sParam += encodeURIComponent (oForm.elements[i].value);
			aParams.push(sParam);
		}
		var sBody = aParams.join("&");

		var oXmlHttp = createXMLHttp();

		oXmlHttp.open("POST", oForm.action, true);
		oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

		oXmlHttp.onreadystatechange = function()
		{
			if(oXmlHttp.readyState == 4)
			{
				if(oXmlHttp.status == 200)
				{
					saveResult_reg(oXmlHttp.responseText);
				}
			}
		};

		oXmlHttp.send(sBody);
	}

}

// save result reg
function saveResult_reg (res_text)
{
	if (res_text == 'success')
	{
		location.reload ();
	}
	else
	{
		document.getElementById('error_box2').innerHTML = document.getElementById('reg_error_message').value+': '+res_text;
	}
}





// ajax send form class
AIM = {
 
	frame : function(c) {
 
		var n = 'f' + Math.floor(Math.random() * 99999);
		var d = document.createElement('DIV');
		d.innerHTML = '<iframe style="display:none" src="about:blank" id="'+n+'" name="'+n+'" onload="AIM.loaded(\''+n+'\')"></iframe>';
		document.body.appendChild(d);
 
		var i = document.getElementById(n);
		if (c && typeof(c.onComplete) == 'function') {
			i.onComplete = c.onComplete;
		}
 
		return n;
	},
 
	form : function(f, name) {
		f.setAttribute('target', name);
	},
 
	submit : function(f, c) {
		AIM.form(f, AIM.frame(c));
		if (c && typeof(c.onStart) == 'function') {
			return c.onStart();
		} else {
			return true;
		}
	},
 
	loaded : function(id) {
		var i = document.getElementById(id);
		if (i.contentDocument) {
			var d = i.contentDocument;
		} else if (i.contentWindow) {
			var d = i.contentWindow.document;
		} else {
			var d = window.frames[id].document;
		}
		if (d.location.href == "about:blank") {
			return;
		}
 
		if (typeof(i.onComplete) == 'function') {
			i.onComplete(d.body.innerHTML);
		}
	}
 
}

// before form submit
function startCallback()
{
	return true;
}

// save result profile
function completeCallback(response)
{
//	if (/\bsuccess\b/.test(response))
	if (response == 'success')
	{
		location.reload ();
	}
	else
	{
		document.getElementById('error_box4').innerHTML = document.getElementById('profile_error_message').value+': '+response;
	}
}

// save result from "forgot password"
function completeCallback_forgot(response)
{
	if (response == 'success')
	{
		document.getElementById('popup_forgot').style.display = 'none';
		document.getElementById('popup_pass_send').style.display = 'block';
	}
	else
	{
		document.getElementById('error_box3').innerHTML = document.getElementById('forgot_error_message').value+': '+response;
	}
}

// save result from "feedback"
function completeCallback_feedback(response)
{
	if (response == 'success')
	{
		document.getElementById('popup_feedback').style.display = 'none';
		document.getElementById('popup_feedback_send').style.display = 'block';
	}
	else
	{
		document.getElementById('error_box5').innerHTML = document.getElementById('feedback_error_message').value+': '+response;
	}
}





// send vote
function send_vote (elem)
{

	// if not voted
	if (elem.className != '')
	{

		var sBody = '';
		var art_id = '';

		var children = elem.parentNode.childNodes;

		// get article id
		for (var i=0; i<children.length; i++)
		{
			if (children[i].className == 'article_id')
			{
				art_id = children[i].innerHTML;
			}
		}


		// if not voted for this article
		var voted = get_cookie(art_id);
		if (voted != 'voted')
		{

			// string for vote down
			if (elem.className == 'link_dn')
			{
				for (var i=0; i<children.length; i++)
				{
					if (children[i].className == 'votes_dn')
					{
						children[i].innerHTML++;
						sBody = 'id_article=' + art_id + '&vote_param=vote_dn';
						break;
					}
				}
			}

			// string for vote up
			if (elem.className == 'link_up')
			{
				for (var i=0; i<children.length; i++)
				{
					if (children[i].className == 'votes_up')
					{
						children[i].innerHTML++;
						sBody = 'id_article=' + art_id + '&vote_param=vote_up';
						break;
					}
				}
			}

			// clear link styles
			for (var i=0; i<children.length; i++)
			{
				if (children[i].tagName == 'A')
				{
					children[i].style.cursor = 'default';
					children[i].className = '';
				}
			}

			// send vote
			var oXmlHttp = createXMLHttp();

			oXmlHttp.open("POST", document.getElementById('vote_action').value, true);
			oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

			oXmlHttp.onreadystatechange = function()
			{
				if(oXmlHttp.readyState == 4)
				{
					if(oXmlHttp.status == 200)
					{
						saveResult_vote(oXmlHttp.responseText);
					}
				}
			};

			oXmlHttp.send(sBody);

			set_cookie (art_id, 'voted', "Mon, 01-Jan-2099 00:00:00 GMT", "/");
		}
		else
		{
			elem.style.cursor = 'default';
			elem.className = '';
		}
	}

}

// save result vote
function saveResult_vote (res_text)
{
	return true;
}

// set voted links
function set_voted_links ()
{
	var blocks = document.getElementsByTagName('DIV');
	for (var i=0; i<blocks.length; i++)
	{
		if (blocks[i].className == 'article_links')
		{
			var art_id = '';
			var children = blocks[i].childNodes;

			// set article id
			for (var j=0; j<children.length; j++)
			{
				if (children[j].className == 'article_id')
				{
					art_id = children[j].innerHTML;
				}
			}

			var voted = get_cookie (art_id);

			// set links classes
			if (voted == 'voted')
			{
				for (var j=0; j<children.length; j++)
				{
					if (children[j].tagName == 'A')
					{
						children[j].className = '';
						children[j].style.cursor = 'default';
					}
				}
			}

		}
	}

}





// reload captcha
function reload_captcha (captcha_id)
{
/*	setInterval(function()
	{
		document.getElementById(captcha_id).src = '/cgi-bin/captcha.pl?s=158x34';
	},
	5000);
*/
}

function reload_captcha_only (captcha_id)
{
	var rnd = Math.ceil(1000 * Math.random());
	document.getElementById(captcha_id).src = document.getElementById('captcha_src').value + '&rnd=' + rnd;
}






// language redirect and cookies
function set_cookie (name, value, expires, path, domain, secure) {
      document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

function get_cookie (name) {
	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
	var offset = 0;
	var end = 0;
	if (cookie.length > 0) {
		offset = cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = cookie.indexOf(";", offset)
			if (end == -1) {
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return(setStr);
}

function lang_go (lang_val)
{
	set_cookie ("lang", lang_val, "Mon, 01-Jan-2099 00:00:00 GMT", "/");
//	location.replace(link_val);
	location.reload ();
}



// set active language
function set_act_lang ()
{
	var cur_lang = get_cookie ('lang');

	document.getElementById('lang_site_ru').className = 'lang';
	document.getElementById('lang_site_en').className = 'lang';
	document.getElementById('lang_site_de').className = 'lang';

	document.getElementById('lang_site_' + cur_lang).className = 'lang act';
}

// set buttons news
function set_btn_news ()
{
	var cur_lang = get_cookie ('lang');

	var news_pr = document.getElementById('news_pr');
	var news_nx = document.getElementById('news_nx');
	switch (cur_lang)
	{
		case 'ru':
			if (news_pr) { news_pr.src = '/images/news_pr_ru.gif'; news_pr.width = '165'; }
			if (news_nx) { news_nx.src = '/images/news_nx_ru.gif'; news_nx.width = '165'; }
			break;
		case 'en':
			if (news_pr) { news_pr.src = '/images/news_pr_en.gif'; news_pr.width = '136'; }
			if (news_nx) { news_nx.src = '/images/news_nx_en.gif'; news_nx.width = '136'; }
			break;
		case 'de':
			if (news_pr) { news_pr.src = '/images/news_pr_de.gif'; news_pr.width = '163'; }
			if (news_nx) { news_nx.src = '/images/news_nx_de.gif'; news_nx.width = '163'; }
			break;
		default:
			if (news_pr) { news_pr.src = '/images/news_pr_ru.gif'; news_pr.width = '165'; }
			if (news_nx) { news_nx.src = '/images/news_nx_ru.gif'; news_nx.width = '165'; }
	}
}

// set buttons reviews
function set_btn_rev ()
{
	var cur_lang = get_cookie ('lang');

	var news_pr = document.getElementById('rev_pr');
	var news_nx = document.getElementById('rev_nx');
	switch (cur_lang)
	{
		case 'ru':
			if (news_pr) { news_pr.src = '/images/rev_pr_ru.gif'; }
			if (news_nx) { news_nx.src = '/images/rev_nx_ru.gif'; }
			break;
		case 'en':
			if (news_pr) { news_pr.src = '/images/rev_pr_en.gif'; }
			if (news_nx) { news_nx.src = '/images/rev_nx_en.gif'; }
			break;
		case 'de':
			if (news_pr) { news_pr.src = '/images/rev_pr_de.gif'; }
			if (news_nx) { news_nx.src = '/images/rev_nx_de.gif'; }
			break;
		default:
			if (news_pr) { news_pr.src = '/images/rev_pr_ru.gif'; }
			if (news_nx) { news_nx.src = '/images/rev_nx_ru.gif'; }
	}
}

// set buttons articles
function set_btn_art ()
{
	var cur_lang = get_cookie ('lang');

	var news_pr = document.getElementById('art_pr');
	var news_nx = document.getElementById('art_nx');
	switch (cur_lang)
	{
		case 'ru':
			if (news_pr) { news_pr.src = '/images/art_pr_ru.gif'; }
			if (news_nx) { news_nx.src = '/images/art_nx_ru.gif'; }
			break;
		case 'en':
			if (news_pr) { news_pr.src = '/images/art_pr_en.gif'; }
			if (news_nx) { news_nx.src = '/images/art_nx_en.gif'; }
			break;
		case 'de':
			if (news_pr) { news_pr.src = '/images/art_pr_de.gif'; }
			if (news_nx) { news_nx.src = '/images/art_nx_de.gif'; }
			break;
		default:
			if (news_pr) { news_pr.src = '/images/art_pr_ru.gif'; }
			if (news_nx) { news_nx.src = '/images/art_nx_ru.gif'; }
	}
}

// set buttons reply
function set_btn_reply ()
{
	var cur_lang = get_cookie ('lang');

	var buttons = document.getElementsByTagName('INPUT');
	for (var i=0; i<buttons.length; i++)
	{
		if (buttons[i].className == 'ans_input')
		{
			switch (cur_lang)
			{
				case 'ru':
					buttons[i].src = '/images/ans_btn_ru.gif';
					break;
				case 'en':
					buttons[i].src = '/images/ans_btn_en.gif';
					break;
				case 'de':
					buttons[i].src = '/images/ans_btn_de.gif';
					break;
				default:
					buttons[i].src = '/images/ans_btn_ru.gif';
			}
		}
	}
}

// set buttons buy
function set_btn_buy ()
{
	var cur_lang = get_cookie ('lang');

	var buttons = document.getElementsByTagName('IMG');
	for (var i=0; i<buttons.length; i++)
	{
		if (buttons[i].className == 'buy_btn_img')
		{
			switch (cur_lang)
			{
				case 'ru':
					buttons[i].src = '/images/buy_btn_ru.gif';
					break;
				case 'en':
					buttons[i].src = '/images/buy_btn_en.gif';
					break;
				case 'de':
					buttons[i].src = '/images/buy_btn_de.gif';
					break;
				default:
					buttons[i].src = '/images/buy_btn_ru.gif';
			}
		}
	}
}

// set buttons download
function set_btn_download ()
{
	var cur_lang = get_cookie ('lang');

	var buttons = document.getElementsByTagName('IMG');
	for (var i=0; i<buttons.length; i++)
	{
		if (buttons[i].className == 'skype_dload_btn')
		{
			switch (cur_lang)
			{
				case 'ru':
					buttons[i].src = '/images/dn_skype_ru.gif';
					buttons[i].width = '186';
					break;
				case 'en':
					buttons[i].src = '/images/dn_skype_en.gif';
					buttons[i].width = '207';
					break;
				case 'de':
					buttons[i].src = '/images/dn_skype_de.gif';
					buttons[i].width = '241';
					break;
				default:
					buttons[i].src = '/images/dn_skype_ru.gif';
					buttons[i].width = '186';
			}
		}
	}
}

// set buttons pass recovery
function set_btn_pass_rec ()
{
	var cur_lang = get_cookie ('lang');

	var button = document.getElementById('pass_rec_btn');
	switch (cur_lang)
	{
		case 'ru':
			button.src = '/images/pass_rec_ru.gif';
			button.width = '201';
			break;
		case 'en':
			button.src = '/images/pass_rec_en.gif';
			button.width = '184';
			break;
		case 'de':
			button.src = '/images/pass_rec_de.gif';
			button.width = '257';
			break;
		default:
			button.src = '/images/pass_rec_ru.gif';
			button.width = '201';
	}
}

// set buttons register
function set_btn_reg ()
{
	var cur_lang = get_cookie ('lang');

	var button = document.getElementById('reg_btn_img');
	switch (cur_lang)
	{
		case 'ru':
			button.src = '/images/reg_btn_ru.gif';
			button.width = '195';
			break;
		case 'en':
			button.src = '/images/reg_btn_en.gif';
			button.width = '96';
			break;
		case 'de':
			button.src = '/images/reg_btn_de.gif';
			button.width = '142';
			break;
		default:
			button.src = '/images/reg_btn_ru.gif';
			button.width = '195';
	}
}

// set buttons feedback
function set_btn_feedback ()
{
	var cur_lang = get_cookie ('lang');

	var button = document.getElementById('feedback_btn_img');
	switch (cur_lang)
	{
		case 'ru':
			button.src = '/images/send_blue_ru.gif';
			button.width = '117';
			break;
		case 'en':
			button.src = '/images/send_blue_en.gif';
			button.width = '117';
			break;
		case 'de':
			button.src = '/images/send_blue_de.gif';
			button.width = '117';
			break;
		default:
			button.src = '/images/send_blue_ru.gif';
			button.width = '117';
	}
}

// set buttons reply
function set_btn_reply_big ()
{
	var cur_lang = get_cookie ('lang');

	var button = document.getElementById('send_btna_img');
	switch (cur_lang)
	{
		case 'ru':
			button.src = '/images/send_btna_ru.gif';
			button.width = '118';
			break;
		case 'en':
			button.src = '/images/send_btna_en.gif';
			button.width = '85';
			break;
		case 'de':
			button.src = '/images/send_btna_de.gif';
			button.width = '105';
			break;
		default:
			button.src = '/images/send_btna_ru.gif';
			button.width = '118';
	}
}

// set buttons enter
function set_btn_enter ()
{
	var cur_lang = get_cookie ('lang');

	var button = document.getElementById('enter_btn_img');
	switch (cur_lang)
	{
		case 'ru':
			button.src = '/images/enter_btn_ru.gif';
			button.width = '87';
			break;
		case 'en':
			button.src = '/images/enter_btn_en.gif';
			button.width = '87';
			break;
		case 'de':
			button.src = '/images/enter_btn_de.gif';
			button.width = '101';
			break;
		default:
			button.src = '/images/enter_btn_ru.gif';
			button.width = '87';
	}
}

// set buttons save
function set_btn_save ()
{
	var cur_lang = get_cookie ('lang');

	var button = document.getElementById('save_btn_img');
	switch (cur_lang)
	{
		case 'ru':
			button.src = '/images/save_btn_ru.gif';
			button.width = '118';
			break;
		case 'en':
			button.src = '/images/save_btn_en.gif';
			button.width = '76';
			break;
		case 'de':
			button.src = '/images/save_btn_de.gif';
			button.width = '120';
			break;
		default:
			button.src = '/images/save_btn_ru.gif';
			button.width = '118';
	}
}

// set buttons logout
function set_btn_logout ()
{
	var cur_lang = get_cookie ('lang');

	var button = document.getElementById('exit_btn');
	switch (cur_lang)
	{
		case 'ru':
			button.src = '/images/exit_btn_ru.gif';
			break;
		case 'en':
			button.src = '/images/exit_btn_en.gif';
			break;
		case 'de':
			button.src = '/images/exit_btn_de.gif';
			break;
		default:
			button.src = '/images/exit_btn_ru.gif';
	}
}

// set twitter link
function set_twitter_link ()
{
	var cur_lang = get_cookie ('lang');

	var twitter_link = document.getElementById('twitter_link');
	switch (cur_lang)
	{
		case 'ru':
			twitter_link.href = 'http://twitter.com/sky2peer_rus';
			break;
		case 'en':
			twitter_link.href = 'http://twitter.com/sky2peer_en';
			break;
		case 'de':
			twitter_link.href = 'http://twitter.com/sky2peer_de';
			break;
		default:
			twitter_link.href = 'http://twitter.com/sky2peer_rus';
	}
}





// upload image

// create frame
function createIFrame() {
	var id = 'f' + Math.floor(Math.random() * 99999);
	var div = document.createElement('div');
	div.innerHTML = '<iframe style="display:none" src="about:blank" id="'+id+'" name="'+id+'" onload="sendComplete(\''+id+'\')"></iframe>';
	document.body.appendChild(div);
	return document.getElementById(id);
}

// upload image
function sendForm(form, func, arg) {
	if (!document.createElement) return; // not supported
	if (typeof(form)=="string") form=document.getElementById(form);

	var frame=createIFrame();
	frame.onSendComplete = function() { func(arg, getIFrameXML(frame)); };
	form.setAttribute('target', frame.id);
	form.submit();
	document.getElementById('uploadFile').value = '';
	close_popup('upload_image');
}

// send complete
function sendComplete(id) {
	var iframe=document.getElementById(id);
	if (iframe.onSendComplete && typeof(iframe.onSendComplete) == 'function') iframe.onSendComplete();
}

// create xml answer
function getIFrameXML(iframe) {
	var doc=iframe.contentDocument;
	if (!doc && iframe.contentWindow) doc=iframe.contentWindow.document;
	if (!doc) doc=window.frames[iframe.id].document;
	if (!doc) return null;
	if (doc.location=="about:blank") return null;
	if (doc.XMLDocument) doc=doc.XMLDocument;
	var uploaded_images = document.getElementById('uploaded_images');
	uploaded_images.innerHTML = uploaded_images.innerHTML + doc.documentElement.firstChild.nodeValue + '<br />' + '<img src="' + doc.documentElement.firstChild.nodeValue + '" /><br /><br />';
	return doc;
}

// upload complete
function uploadComplete(element, doc) {
	if (!doc) return;
	if (typeof(element)=="string") element=document.getElementById(element);
	element.innerHTML='Результат:' + doc.documentElement.firstChild.nodeValue;
}


// show legal popup
function show_legal (param)
{
	if (param == 'show')
	{
		document.getElementById('legal_popup').style.display = 'block';
	}
	else
	{
		document.getElementById('legal_popup').style.display = 'none';
	}
}

// set forum pic
function set_forum_pic()
{
	var cur_lang = get_cookie ('lang');
	document.getElementById('forum_pic').src = '/images/forum_pic_' + cur_lang + '.gif';
}

// get current year
function get_current_year () {
	var date_cur = new Date();
	return date_cur.getFullYear();
}


