﻿var ImgOn=new Array();
var ImgOff=new Array();
var menu_visible = false;
var calcTarget = "wmz";
var calcType = "";
var calcResult = null;
var calcValue = "";

var mobile = false;
var tdb = "";
var mobileURL = "";

function preload()
{
	args=preload.arguments;
		for(i=0;i<args.length;i++)
		{
			ImgOff[args[i]]=new Image();
			ImgOff[args[i]].src=ImgDir + args[i] + ".gif";
			ImgOn[args[i]]=new Image();
			ImgOn[args[i]].src=ImgDir + args[i] + "_u.gif";
		}
}

function swap(obj,mode)
{
	if(mode==1)
	{
		if(navigator.appName != "Netscape")
			document.all[obj].src=ImgOn[obj].src;
		else
			document[obj].src=ImgOn[obj].src;
	}
	if(mode==0)
	{
		if(navigator.appName != "Netscape")
			document.all[obj].src=ImgOff[obj].src;
		else
			document[obj].src=ImgOff[obj].src;
	}
}

function loadMyData()
{
	url = '/AjaxInvoce.aspx';
	pars = 'action=loadData' ;
	new Ajax.Request(url, {method:'get', parameters: pars, onComplete:putMyDataToField });
}

function putMyDataToField(originalRequest)
{
	//var str = decodeURIComponent(originalRequest.responseText);
	var str = originalRequest.responseText;
	var wmx = null;
	eval(" wmx ="+str);
	if (wmx) {
		$("_ctl0_tbWMPurse").value = wmx.WMPurse;
		$("_ctl0_tbName").value = wmx.UserName;
		$("_ctl0_tbLName").value = wmx.UserLName;
		$("_ctl0_tbPassportNum").value = wmx.PassportNum;
		$("_ctl0_tbPassportWhen").value = wmx.PassportWhen;
		$("_ctl0_tbPassportWhom").value = wmx.PassportWhom;
		if($("_ctl0_tbClientPhone"))
			$("_ctl0_tbClientPhone").value = wmx.UserPhone;
		else
			$("_ctl0_lbClientPhone").value = wmx.UserPhone;
	}
}

function useProfileData()
{
	url = '/AjaxInvoce.aspx';
	pars = 'action=loadData' ;
	new Ajax.Request(url, {method:'get', parameters: pars, onComplete:putMyDataBank });
	return false;
}

function putMyDataBank(originalRequest)
{
	var str = originalRequest.responseText;
	var wmx = null;
	eval(" wmx ="+str);
	if (wmx) {
		$("_ctl0_tbAccountName").value = wmx.UserLName + ' ' + wmx.UserName;
		$("_ctl0_tbAccountAttestatFName").value = wmx.UserName;
		$("_ctl0_tbAccountAttestatLName").value = wmx.UserLName;
	}
}
/*-------------------------------------------------------------------------------------------------------------------------------------------*/
function onFirmChange()
{
	ddlFirm = $("_ctl0_lbFirm");
	if(ddlFirm)
	{
		bDisabled = true;
		if(ddlFirm.value>0)
		{
			changeCSSubMenu(ddlFirm.value);
			obj = document.getElementById("panAlert");
			obj.style.display = "none";
			if(calcTarget == "cash")
				sum = $F("_ctl0_tbCashAmount");
			else
				sum = $F("_ctl0_tbWMZResult");
			iVal = parseFloat(sum);
			if(iVal >0)
			{
				window.shedulerTick++;
				setTimeout(startCalcAjax, 650);
			}
		}
	}
}

function validateFirmSelection()
{
	ddlFirm = document.getElementById("_ctl0_lbFirm");
	if(ddlFirm)
	{
		if(ddlFirm.value>0)
			return true;
		else
		{
			// show message
			obj = document.getElementById("panAlert");
			obj.style.display = "block";
			return false;
		}
	}
	return false;
}
window.shedulerTick = 0;
/*-------------------------------------------------------------------------------------------------------------------------------------------*/

function calculateSaleOrder(firmID, sum)
{
	url = '/AjaxInvoce.aspx';
	firmCurrency = -1;
	if(calcTarget == "cash")
		firmCurrency = $F("_ctl0_firmCurrency");
	pars = 'action=calculateSaleOrder'+(calcTarget == "cash"?'':'2')+'&firmID='+firmID+'&sum='+sum+'&calcCurrencyID='+firmCurrency+'&currencyID='+$F("_ctl0_firmCurrency");
	if(!mobile)
		new Ajax.Request(url, {method:'get', parameters: pars, onComplete:putCalcSaleOrderResult, onFailure:reportSystemError });	
	else mobileURL = url+"?mobile=1&cityID="+getGet("cityID")+"&"+pars;
}

function putCalcSaleOrderResult(originalRequest)
{
	var str = originalRequest.responseText;
	$("_ctl0_ajaxWheel").style.display = "none";	
	$("_ctl0_mobileWheel").style.display = "none";	
	//$("mlog").innerHTML = str + "|" +$F("_ctl0_firmCurrency");
	eval(" calcResult="+str);
	if(calcResult.isError == 0)
	{
		$("_ctl0_panInfobox").style.display = "";
		activatelbReserveOrder();
		switch(calcResult.type)
		{
			case "0":
				$("_ctl0_tbCashAmount").value = calcResult.cashAmount;
				$("_ctl0_tbWMZResult").value = calcResult.wmzAmount;
				break;
			case "1":
				$("_ctl0_tbCashAmount").value = calcResult.cashNativeAmount;
				$("_ctl0_tbWMZResult").value = calcResult.wmzAmount;
				break;
			case "2":
				if($F("_ctl0_firmCurrency") == calcResult.currencyID)
					$("_ctl0_tbCashAmount").value = calcResult.cashNativeAmount;
				else
					$("_ctl0_tbCashAmount").value = calcResult.cashAmount;
				$("_ctl0_tbWMZResult").value = calcResult.wmzAmount;
				break;
		}
		$("_ctl0_sPaydAmount").innerHTML = calcResult.strPayd;
		$("_ctl0_sReceiveWMZAmount").innerHTML = calcResult.wmzAmountRecieve+" WMZ";
		
		var WMSum = Math.round((parseFloat(calcResult.wmzAmountRecieve.replace(',','.'))+parseFloat(calcResult.wmComission.replace(',','.')))*Math.pow(10,2))/Math.pow(10,2)+" WMZ";
		
		$("_ctl0_sWMSum").innerHTML = WMSum.replace('.',',');
			
		if(calcResult.isBonus)
		{
			$("_ctl0_panBonusDiscountInfo").style.display = "";
			$("_ctl0_tdInfoBoxLeft").className = "infobox height2";
			$("_ctl0_sItogComission").innerHTML = "<strong>" + calcResult.wmxComission+" у.е.</strong>";
			$("_ctl0_sBonusDiscountSize").innerHTML = "<strong>"+calcResult.bonusDiscountAmount+" у.е.</strong> ( "+calcResult.bonusDiscountSize+"% )";
			$("_ctl0_sComission").innerHTML = calcResult.fullWmxComissionAmount+" у.е.";
			if(calcResult.thirdComissionAmount != "0")
			{
				$("_ctl0_sThirdComission").innerHTML = calcResult.thirdComissionAmount+" у.е.";
				$("_ctl0_liThirdComission").style.display = "";
			}
			else {
				$("_ctl0_liThirdComission").style.display = "none";
			}
		}
		else
		{
			$("_ctl0_sComission").innerHTML = calcResult.wmxComission+" у.е. ";
			$("_ctl0_panBonusDiscountInfo").style.display = "none";
			$("_ctl0_tdInfoBoxLeft").className = "infobox height1";
			$("_ctl0_liThirdComission").style.display = "none";
		}
	}
	else
	{
		$("_ctl0_panInfobox").style.display = "none";
		disablelbReserveOrder();
		$("panAlert").style.display = "";
		$("panAlert").innerHTML = calcResult.errorMessage;
	}
}

function calculateBuyingOrder(firmID, sum)
{
	url = '/AjaxInvoce.aspx';
	firmCurrency = -1;
	if(calcTarget == "cash")
		firmCurrency = $F("_ctl0_firmCurrency");
	pars = 'action=calculateBuyingOrder'+(calcTarget == "cash"?'2':'')+'&firmID='+firmID+'&sum='+sum+'&calcCurrencyID='+firmCurrency+'&currencyID='+$F("_ctl0_firmCurrency");
	if($('_ctl0_orderIsWMCard')) {
		pars += '&wmcard=' + ($F('_ctl0_orderIsWMCard') == '1' ? '1':'0');
	}
	pars += "&rnd="+Math.random();	
	if(!mobile)
		new Ajax.Request(url, {method:'get', parameters: pars, onComplete:putCalcBuyingOrderResult, onFailure:reportSystemError });
	else mobileURL = url+"?mobile=1&cityID="+getGet("cityID")+"&"+pars;
}

function putCalcBuyingOrderResult(originalRequest)
{
	var str = originalRequest.responseText;
	$("_ctl0_ajaxWheel").style.display = "none";
	$("_ctl0_mobileWheel").style.display = "none";
	eval(" calcResult="+str);
	if(calcResult.isError == 0)
	{
		$("_ctl0_panInfobox").style.display = "";
		var isWMCard = $F('_ctl0_orderIsWMCard') == '1';
		activatelbReserveOrder();
		switch(calcResult.type)
		{
			case "0":
				$("_ctl0_tbCashAmount").value = calcResult.cashAmount;
				$("_ctl0_tbWMZResult").value = calcResult.wmzAmount;
				break;
			case "1":
				$("_ctl0_tbCashAmount").value = calcResult.cashNativeAmount;
				$("_ctl0_tbWMZResult").value = calcResult.wmzAmount;
				break;
			case "2":
				if($F("_ctl0_firmCurrency") == calcResult.currencyID)
					$("_ctl0_tbCashAmount").value = calcResult.cashNativeAmount;
				else
					$("_ctl0_tbCashAmount").value = calcResult.cashAmount;
				$("_ctl0_tbWMZResult").value = calcResult.wmzAmount;
				break;
		}
		var html = '<div class="summary">Заплатив <span>' + calcResult.strPayd + '</span>&nbsp;Вы получите ' +
			(isWMCard?'WM-карты на сумму':'на свой кошелек') +
			' <span>' + calcResult.wmzAmount + ' WMZ</span></div>'+
			'<div class="detail"><strong>Из них:</strong><ul><li>комиссия системы: <span>' + (calcResult.isBonus? calcResult.fullWmxComissionAmount : calcResult.wmxComission) + ' у.е.</span>';
			
		if(calcResult.isBonus)
		{
			html += '<div class="panBonusDiscountInfo">'+
						'<div class="bonusDiscount">скидка: <span class="sBonusDiscountSize"><strong>' + calcResult.bonusDiscountAmount + ' у.е.</strong> (' + calcResult.bonusDiscountSize + '%)</span></div>'+
						'<div class="bonusDiscount2">итого: <span class="sBonusDiscountSize2"><strong>' + calcResult.wmxComission + ' у.е.</strong></span></div></div>'+
				'</li>'+
				'<li>комиссия системы WM Transfer: <span>' + calcResult.wmComission + ' WMZ</span></li>';
			if(calcResult.thirdComissionAmount != "0")
			{
				html += '<li>комиссия банка: <span>' + calcResult.thirdComissionAmount + ' у.е.</span></li>';
			}
		}
		else
		{
			html += '(с учетом WM Transfer)</li>';
		}
		html += '</ul></div>';
		$("_ctl0_panInfobox").innerHTML = html;
	}
	else
	{
		$("_ctl0_panInfobox").style.display = "none";
		disablelbReserveOrder();
		$("panAlert").style.display = "";
		$("panAlert").innerHTML = calcResult.errorMessage;
	}
}
function focusCalcField(name)
{
	calcTarget = name;
	if(calcTarget == "wmz")
		calcValue = $F("_ctl0_tbWMZResult");
	else
		calcValue = $F("_ctl0_tbCashAmount");
}
/* выпадающее меню */

function csMenuShow()
{
	obj = $("_ctl0_csMenuSelector");
	if(obj.style.display == "none" || obj.style.display == "")
	{
		if(validateFirmSelection())
		{
			obj.style.display = "block";
		}
	}
	else
		obj.style.display = "none";
	menu_visible = true;
}
function csMenuClickOut()
{
	if(!menu_visible)
		csMenuClose();
	menu_visible = false;
}
function csMenuClose()
{
	obj = $("_ctl0_csMenuSelector");
	if(obj)
		obj.style.display = "none";
}

function csSetValue(arg, click)
{
	firmID = $F("_ctl0_lbFirm");
	cl = currencyList[firmID];
	var obj = null;
	for(i=0; i<cl.length; i++)
	{
		if(cl[i].id == arg)
		{
			obj = cl[i];
			break;
		}
	}
	if(obj)
	{
		name = "cssubmenuitem"+$F("_ctl0_firmCurrency");
		$(name).style.display = "";
		$("_ctl0_firmCurrency").value = obj.id;
		name = "cssubmenuitem"+obj.id;
		$(name).style.display = "none";
		$("_ctl0_firmCurrency").value = obj.id;
		$("_ctl0_csMenuSelectorTitle").innerHTML = obj.title;
	}
	else
	{
		obj = cl[0];
		$("_ctl0_firmCurrency").value = obj.id;
		name = "cssubmenuitem"+obj.id;
		$(name).style.display = "none";
		$("_ctl0_firmCurrency").value = obj.id;
		$("_ctl0_csMenuSelectorTitle").innerHTML = obj.title;
	}
	if(click)
	{
		if(calcTarget == "cash")
		{
			sum = $F("_ctl0_tbCashAmount");
			iVal = parseFloat(sum);
			if(iVal >0)
			{
				$("panAlert").style.display = "none";
				$("_ctl0_panInfobox").style.display = "none";
				$("_ctl0_tbWMZResult").value = "";
				calcTarget = "cash";
				window.shedulerTick++;
				setTimeout(startCalcAjax, 650);
			}
		}
		else
		{
			sum = $F("_ctl0_tbWMZResult");
			iVal = parseFloat(sum);
			if(iVal >0)
			{
				$("panAlert").style.display = "none";
				$("_ctl0_panInfobox").style.display = "none";
				$("_ctl0_tbCashAmount").value = "";
				calcTarget = "wmz";
				window.shedulerTick++;
				setTimeout(startCalcAjax, 650);
			}
		}
	/*	}
		else
		{
			if(calcResult && calcResult.isError == "0" && calcResult.type == "2")
			{
				if($F("_ctl0_firmCurrency") == calcResult.currencyID)
					$("_ctl0_tbCashAmount").value = calcResult.cashNativeAmount;
				else
					$("_ctl0_tbCashAmount").value = calcResult.cashAmount;
			}
		}*/
	}
}

function reportSystemError() {
	$("panAlert").style.display = "";
	$("panAlert").innerHTML = "Во время выполнения запроса произошла ошибка. Попробуйте чуть позже.";
}

function changeCSSubMenu(firmID)
{
	var cl = currencyList[firmID];
	if(cl)
	{
		// необходимо поменят также надписи
		var html = "<ul>";
		for(i=0; i<cl.length; i++)
		{
			id = cl[i].id==-1?"_1":cl[i].id;
			html += "<li id=\"cssubmenuitem"+id+"\"><nobr><a onclick=\"csSetValue("+cl[i].id+", true);\">"+cl[i].title+"</a></nobr></li>";
		}
		html += "</ul>";
		$("_ctl0_csMenuSelector").innerHTML = html;
		csSetValue($F("_ctl0_firmCurrency"));
	}
}

function startCalcOnTime()
{
	enableMobileCalcLb();
	res = false;
	if(calcTarget=="wmz")
		res = $F("_ctl0_tbWMZResult")!=calcValue;
	else
		res = $F("_ctl0_tbCashAmount")!=calcValue;
	if(res)
	{
		calcValue = calcTarget=="wmz"?$F("_ctl0_tbWMZResult"):$F("_ctl0_tbCashAmount");
		if($('_ctl0_orderIsWMCard') && $F('_ctl0_orderIsWMCard') == '1') {
			var s = parseInt(calcValue);
			if(isNaN(s)) {
				$("_ctl0_tbWMZResult").value= '';
				return;
			} else {
				calcValue = s;
				$("_ctl0_tbWMZResult").value= s;
			}
		}
		window.shedulerTick++;
		$("panAlert").style.display = "none";
		$("_ctl0_panInfobox").style.display = "none";
		$("_ctl0_defaultInfo").style.display = "none";
		if(!mobile)
			$("_ctl0_ajaxWheel").style.display = "";
		else {
			$("_ctl0_mobileWheel").style.display = "";
			
		}
		if(calcTarget == "cash")
			$("_ctl0_tbWMZResult").value = "";
		else
			$("_ctl0_tbCashAmount").value = "";
		setTimeout(startCalcAjax, 650);
	}
}

function startCalcAjax()
{
	window.shedulerTick--;
	if(window.shedulerTick == 0)
	{
		// проверяем выбранный пункт, и прочее
		if(validateFirmSelection())
		{
			firmID = $F("_ctl0_lbFirm");
			if(calcTarget == "cash")
				sum = $F("_ctl0_tbCashAmount");
			else
				sum = $F("_ctl0_tbWMZResult");
			iVal = parseFloat(sum);
			if(iVal >0 && calcType == "buy")
				calculateBuyingOrder(firmID, sum);
			else if(iVal >0 && calcType == "sale")
				calculateSaleOrder(firmID, sum);
			else
			{
				$("panAlert").style.display = "";
				$("panAlert").innerHTML = "Введите корректную сумму";
				$("_ctl0_ajaxWheel").style.display = "none";
				$("_ctl0_mobileWheel").style.display = "none";
				disablelbReserveOrder();
			}
		}
	}
}

function activatelbReserveOrder()
{
	$("_ctl0_lbReserveOrder").style.color="#45688F";
	$("_ctl0_lbReserveOrder").onmouseover = function() {this.style.color = "#FDB106";};
	$("_ctl0_lbReserveOrder").onmouseout = function() {this.style.color = "#45688F";};
	$("_ctl0_lbReserveOrder").onclick = function() {return true;};
}

function disablelbReserveOrder()
{
	$("_ctl0_lbReserveOrder").style.color="#d6d6d6";
	$("_ctl0_lbReserveOrder").onclick = function() {return false;};
	$("_ctl0_lbReserveOrder").onmouseover = function() {return false;};
	$("_ctl0_lbReserveOrder").onmouseout = function() {return false;};
}

function getGet( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

function enableMobileCalcLb(){
	if($("lbMobileCalc")) {
		$("lbMobileCalc").disabled = false;
		$("lbMobileCalc").removeClassName('disabled');
	}
}

Position.GetWindowSize = function(w) {
        w = w ? w : window;
        var width = w.innerWidth || (w.document.documentElement.clientWidth || w.document.body.clientWidth);
        var height = w.innerHeight || (w.document.documentElement.clientHeight || w.document.body.clientHeight);
        return [width, height]
}
