// Helper functions


function goBack()
{
	history.back();
}

function getAbsolutePos(el)
{
   var r = { x: el.offsetLeft, y: el.offsetTop };
   if (el.offsetParent)
   {
       var tmp = getAbsolutePos(el.offsetParent);
       r.x += tmp.x;
       r.y += tmp.y;
   }
   return r;
}

function addEvent(obj, evType, fn)
{
	if (obj.addEventListener)
	{
		obj.addEventListener(evType, fn, false);
		return true;
	} else if (obj.attachEvent)
	{
		var r = obj.attachEvent("on" + evType, fn);
		return r;
	} else return false;
}

function Pointer(obj) 
{
	return document.getElementById(obj);
}

function GoTo(href)
{
	document.location = href;	
}

function get(name) 
{
	var user_agent = navigator.userAgent.toLowerCase();
	if ( user_agent.indexOf("msie") != -1) {
		return eval('document.all.' + name);
	}
	if (user_agent.indexOf("mozilla/5.0") != -1) {
		return document.getElementById(name);
	}
	if (user_agent.indexOf("opera") != -1) {
		return document.getElementById(name);
	}
	return document.getElementById(name);
} 

function loadPage(num, add)
{
	var seed = Math.random() * 10000;
	var str = "?mode=ajax&page=" + num + "&seed=" + seed + (add ? add : "");
	if (str.length > 2000) 
	{
		alert("Длина сообщения должна быть не более 500 символов");
		return;
	}
	ajaxExecute(str);
}

// Tab pages realization
function pageOver(event, page)
{
	if (page.className != "current") page.className = "selected";
}

function pageOut(event, page)
{
	if (page.className != "current") page.className = "";
}
/*
function pageClick(event, page)
{
	var pages = page.parentNode.getElementsByTagName("LI");
	for (var i = 0; i < pages.length; ++i)
	{
		pages[i].className = "";
		if (pages[i] == page)
		{
			page.className = "current";
			loadPage(i);
		}
	}
}
*/
var oHandler = null;
var counter = null;
function pageClick(page, add) {
	if(oHandler && oHandler != page) {
		oHandler.className = '';
		var cornImgL = get(oHandler.id + "_l");
		var cornImgR = get(oHandler.id + "_r");
		if (oHandler.getAttribute('highlighted') == '1')
		{
			cornImgL.src = "/i/tab_l_highlight.gif";
			cornImgR.src = "/i/tab_r_highlight.gif";
		} else
		{
			cornImgL.src = "/i/tab_l.gif";
			cornImgR.src = "/i/tab_r.gif";
		}
	}
	var rule = /^.+_([0-9])$/;
	var res = page.id.match(rule);
	if(res) {
		oHandler = page;
		if (page.parentNode.className == 'tab_highlight') page.setAttribute('highlighted', '1');
		page.className = 'tab_active';
		var cornImgL = get("tab_" + res[1] + "_l");
		var cornImgR = get("tab_" + res[1] + "_r");
		cornImgL.src = "/i/tab_l_active.gif";
		cornImgR.src = "/i/tab_r_active.gif";
		clearTimeout(counter);
		counter = setTimeout(function() {
			loadPage(res[1] - 1, add);
		},100);
	}
	return false;
}

// Send message
function sendMessage()
{
	var cpt = Pointer("cptinput");
	var add = "";
	if (cpt) add = "&cptinput=" + cpt.value;
	loadPage(0, "&msg=" + ruescape(Pointer("messagememo").value) + add);
}

// Change settings for settings page
function toYesNo(val)
{
	if (val) return "yes";
	return "no";
}

function changeSettings()
{
	var add = "";
	add += "&cb1=" + toYesNo(Pointer("cb1").checked);
//	add += "&cb2=" + toYesNo(Pointer("cb2").checked);
	add += "&cb3=" + toYesNo(Pointer("cb3").checked);
//	add += "&cb4=" + toYesNo(Pointer("cb4").checked);
	add += "&codecmode=" + Pointer("codecmode").value;
	add += "&def_style=" + toYesNo(Pointer("def_style").checked);
	add += "&newpassword1=" + Pointer("newpassword1").value;
	add += "&newpassword2=" + Pointer("newpassword2").value;
	add += "&password1=" + Pointer("password1").value;
	add += "&newemail=" + Pointer("newemail").value;
	add += "&password2=" + Pointer("password2").value;
	loadPage(1, add);
}

function changeVisible(id)
{
	var obj = document.getElementById(id);
	obj.style.display = obj.style.display == "none" ? "block" : "none";
}

function hideBillMsg()
{
	changeVisible('bills_div');
	changeVisible('msg_div');
}

function imposeMaxLength(Object, MaxLen)
{
  return (Object.value.length <= MaxLen);
}

function checkSum(id){
  if (Pointer(id).value == "") { alert("Сумма платежа осталась пустой."); return false; }
  var amount = Pointer(id).value;
  var sum    = parseFloat(amount);
  if (sum != amount || sum < 0) { alert("Неверная сумма платежа."); return false; } 
  return true;
}

function currency_onChange() {
	var val = document.getElementById('chrono_product_price').value;
	for (var curr_item in currency) {
		var res = currency_convert(val, 'RUB', curr_item);
		var el = document.getElementById('calc_' + curr_item + '_value');
		if (el) {
			if (res) { 
				el.innerHTML = Math.round(res*100)/100 ; 
			} 
			else {
				el.innerHTML = '-'; 
			}
		}
	}

}

// dcard_activation url
var dcard_activation_url = '/dcard_activate/';
/*hide/show discount card activation*/
function DCardChangeVisible() {
	var obj = document.getElementById('discount_card_div');
	if (obj.style.display == "none") {
		obj.style.display = "block";
		ajaxExecute(dcard_activation_url + '?rand=' + Math.random() );
	}
	else {
		obj.innerHTML = "";
		obj.style.display = "none";
	}
}

/*hide/show present card activation*/
function PresentCardChangeVisible() {
	var obj = document.getElementById('present_card_div');
	if (obj.style.display == "none") {
		obj.style.display = "block";
		ajaxExecute(dcard_activation_url + '?wmode=present&rand=' + Math.random() );
	}
	else {
		obj.innerHTML = "";
		obj.style.display = "none";
	}
}


function partnerAgree()
{
	Pointer('tab_5').style.display = 'none';
	Pointer('tab_5_l').style.display = 'none';
	Pointer('tab_5_r').style.display = 'none';
	pageClick(Pointer('tab_1'), "&plicense=1&msg=" + ruescape("Партнер согласился с договором витрины"));
}
/*----------------------------------------
//	ABOUT PAGE
----------------------------------------*/
function onSubmitAboutPage(form_handle)
{
	if (Pointer("id_photo").value != "") return true;
	if (Pointer("id_avatar").value != "") return true;
	Pointer("id_about_page").value = 4;
	OfficeFormPost(form_handle, "mode=ajax");
	return false;
}

function ActivateTab(id)
{
	var cornImgL = get("tab_" + id + "_l");
	var cornImgR = get("tab_" + id + "_r");
	var page = get("tab_" + id);
	cornImgL.src = "/i/tab_l_active.gif";
	cornImgR.src = "/i/tab_r_active.gif";
	page.className = 'tab_active';
	oHandler = page;
}

/*----------------------------------------
//	AJAX FORM POST
----------------------------------------*/
function OfficeFormPost(fm, add_params) {
	if (!fm) return;
	var els = fm.elements;
	var params = "";
	for(var i = 0; i < els.length; i++) {
		var p_name = "";
		var p_value = "";
		if (els[i].type == "checkbox") 
		{
			if (els[i].checked) 
			{
				p_name = els[i].name;
				p_value = els[i].value;
			}
		}
		else if (els[i].type != "file")
		{
			if(els[i].name) p_name = els[i].name;
			if(els[i].value) p_value = els[i].value;
		}

		if (p_name.length) 
		{
			if( params.length ) params += "&";
			params += p_name + "=" + ruescape( p_value );
		}
		els[i].disabled = true;
	}
	if (add_params) 
	{
		if(params.length) params += "&";
		params += add_params;
	}
	var act = fm.attributes.getNamedItem("action").nodeValue;
	makePOSTRequest(act, params, ExecuteCallback);
}

function ExecuteCallback() 
{
	if (http_request.readyState == 4) {
		if (http_request.status == 200) 
		{
			eval(http_request.responseText);
		}
	}
}

