<?

session_start();
include("../includes/common.php");

/*getting data*/
$curr_from = 0;
$curr_to = 0;
$amount = 0;

$curr_from = $_GET['from']+0;
$curr_to = $_GET['to']+0;
$amount = $_GET['amount_in']+0;
$error = $_GET['error'];

/* checking data*/
$sql_from = "select * from ex_currencies where id = ".$curr_from." and status =1;";
$sql_to	  = "select * from ex_currencies where id = ".$curr_to." and status =1;";

$row_from = mysql_fetch_object(mysql_query($sql_from));
$row_to = mysql_fetch_object(mysql_query($sql_to));

if (0 >= $row_from->id || 0 >= $row_to->id)
{
	$error = urlencode("Ошибка при передаче данных.");
	header("Location: $SITE_URL/error.php?error=$error");
	exit;
}


if($row_from->type == "pincode" && $row_to->type == 'pincode')
{
	$error = urlencode("Обмен ПИН-кода на ПИН-код невозможен.");
	header("Location: $SITE_URL/error.php?error=$error");
	exit;
}

if($row_from->type == "pincode")
{
	$collrow = mysql_fetch_object(mysql_query("select * from pincode_collections where id=$row_from->pincode_collection_id"));
	$amount = $collrow->buy_price;
}
elseif($row_to->type == 'pincode')
{
	$collrow = mysql_fetch_object(mysql_query("select * from pincode_collections where id=$row_to->pincode_collection_id"));
	$arr = CountIn($collrow->sell_price, $curr_from, $curr_to);
	
	$amount = $arr["in_amount"];
}

if(!(is_numeric($curr_from)&&is_numeric($curr_to)&&is_numeric($amount)&&$curr_from > 0&&$curr_to > 0&&$amount > 0))
{
	$error = urlencode("Ошибка при передаче данных.");
	header("Location: $SITE_URL/error.php?error=$error");
	exit;
}

$row = mysql_fetch_object(mysql_query("select * from ex_exchanges where ex_currency1_id = $curr_from and ex_currency2_id = $curr_to and status =1"));
if($row->id==""){
	$error = urlencode("Обмен в этом направлении не разрешён!");
	header("Location: $SITE_URL/error.php?error=$error");
	exit;
}
if($amount < $row->min_amount || $amount > $row->max_amount)
{
	$error = urlencode("Cумма, которую вы заплатите должна быть в пределах: $row->min_amount - $row->max_amount");
	header("Location: $SITE_URL/error.php?error=$error");
	exit;
}
if($row_from->id==""||$row_to->id==""){
	$error = urlencode("Ошибка при передаче данных.");
	header("Location: $SITE_URL/error.php?error=$error");
	exit;
}

if($row_to->type == "pincode")
{
	$rest = (double)$row_to->amount * 1.1;
}
else
{
	if($row_to->code == "EGOLD"||$row_to->code == "ESILVER"||$row_to->code == "EPALLADIUM"||$row_to->code == "EPLATINUM"){
		$rest = $row_to->amount*GetMetalPrice($row_to->metal_id);
	}
	else{
		$rest = $row_to->amount;
	}
}

/* getting array of count values */
$values_arr = CountOut($amount,$curr_from,$curr_to);

$tmp = CountIn($values_arr['out_amount'],$curr_from,$curr_to);

if ($row_to->type != "pincode")
{
	if($rest < $values_arr['out_amount'])
	{
		$error = urlencode("На системном счете недостаточно средств.");
		header("Location: $SITE_URL/error.php?error=$error");
		exit;
	}
}
else
{
	$pAm = mysql_fetch_object(mysql_query("select COUNT(*) as cnt from pincodes where `status`='valid' AND collection_id=$row_to->pincode_collection_id"));
	if (0 >= $pAm->cnt)
	{
		$error = urlencode("На системном счете недостаточно средств.");
		header("Location: $SITE_URL/error.php?error=$error");
		exit;
	}
}

/* variables */
if(!isset($user_email)){
	$user_email = $_COOKIE["user_email"];
}

/* FROM CONTENTC*/
if($row_from->code == "WMR"||$row_from->code == "WMZ"||$row_from->code == "WME"||$row_from->code == "WMU"){
	if($row_from->code == "WMR"){
		$purse = "R";
	}
	elseif($row_from->code == "WMZ"){
		$purse = "Z";
	}
	elseif($row_from->code == "WME"){
		$purse = "E";
	}
	elseif($row_from->code == "WMU"){
		$purse = "U";
	}

	$in_content = "Для оплаты Вы будете перенаправлены на сервер системы WebMoney.";// Вы получите $row_to->name практически сразу после совершения платежа.";
}
elseif($row_from->code == "YMR"||$row_from->code == "PCE"||$row_from->code == "PCH"||$row_from->code == "PCD"||$row_from->code == "PCL"){

	if($row_from->code == "YMR"){
		$purse_name = "Яндекс.Деньги";
	}
	elseif($row_from->code == "PCE"||$row_from->code == "PCL"){
		$purse_name = "PayCash";
	}
	elseif($row_from->code == "PCD"){
		$purse_name = "Cyphermint";
	}
	elseif($row_from->code == "PCH"){
		$purse_name = "i-money";
	}

	$in_content = "Для оплаты Вы должны запустить свой $purse_name кошелек.";// Вы получите $row_to->name практически сразу после совершения платежа.";
}
elseif($row_from->code == "EPD"){
	$in_content = "Для оплаты Вы будете перенаправлены на сервер системы E-Port.";// Вы получите $row_to->name практически сразу после совершения платежа.";
}
elseif($row_from->code == "EGOLD"||$row_from->code == "ESILVER"||$row_from->code == "EPLATINUM"||$row_from->code == "EPALLADIUM"){
	$in_content = "Для оплаты Вы будете перенаправлены на сервер системы E-Gold. Вы получите $row_to->name практически сразу после совершения платежа.";
}
elseif($row_from->type == "pincode")
{
	$in_content = "<font color=red>Приём ПИН-кодов осуществлятся вручную (с непосредственным участием оператора)!</font><BR>Вам необходимо ввести действительный ПИН-код указанных выше оператора и номинала.<br>В течение дня оператор проверит ваш ПИН-код и после его активации выплатит Вам указанную ниже сумму.";
}
elseif($row_from->transfare_type == "manual")
{
	$in_content = "<font color=red>Все операции с валютой $row_from->name осуществлятся вручную (с непосредственным участием оператора)!</font><br>Вам необходимо будет самостоятельно, используя интерфейс платёжной системы ($row_from->name) оплатить указанную выше сумму. В течение дня оператора проверит выполнение платежа и выплатит Вам ниже указанную сумму.<br>Реквизиты для оплаты будут представлены на следующем шаге офомления заказа.";
}

/* TO CONTENT */
if($row_to->code == "WMR"||$row_to->code == "WMZ"||$row_to->code == "WME"||$row_to->code == "WMU"){
	if($row_to->code == "WMR"){
		$purse = "R";
	}
	elseif($row_to->code == "WMZ"){
		$purse = "Z";
	}
	elseif($row_to->code == "WME"){
		$purse = "E";
	}
	elseif($row_to->code == "WMU"){
		$purse = "U";
	}

	$js_content = 'function CheckData(){
	var reg = new RegExp("^'.$purse.'[0-9]{12}$");
	
	if (document.forms("exchange").'.strtolower($purse).'_wm_purse.value == ""||!reg.test(document.forms("exchange").'.strtolower($purse).'_wm_purse.value)){
		alert("Укажите правильный кошелек '.$purse.' типа, пожалуйста.");
		document.forms("exchange").'.strtolower($purse).'_wm_purse.focus();
		return false; 
	}

	reg.compile("^[0-9]{12}$");
	if (document.forms("exchange").wm_id.value !=""&&!reg.test(document.forms("exchange").wm_id.value)){
		alert("Указан несуществующий WM идентификатор!");
		document.forms("exchange").wm_id.focus();
		return false; 
	}

	reg.compile(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/);
	if (document.forms("exchange").user_email.value != ""&&!reg.test(document.forms("exchange").user_email.value)){
		alert("Указан неверный e-mail адрес! "+document.forms("exchange").user_email.value);
		document.forms("exchange").user_email.focus();
		return false; 
	}
	
	if(document.forms("exchange").wm_id.value==""){
		if(confirm("ВНИМАНИЕ!\nВы не указали WM идентификатор! Обменник не сможет проверить корректность данных.\nЕсли Вы указали ошибочный кошелек, возврат средств будет невозможен!\nПродолжить?")){
			return true;
		}
		else{
			return false;
		}
	}

	return true;

	}';
}
elseif($row_to->code == "YMR"||$row_to->code == "PCE"||$row_to->code == "PCD"||$row_to->code == "PCL"||$row_to->code == "PCH"){
	$var_name = strtolower($row_to->code)."_account";

	$js_content = 'function CheckData(){
	var reg = new RegExp("^[0-9]{10,15}$");
	
	if (document.forms("exchange").'.$var_name.'.value == ""||!reg.test(document.forms("exchange").'.$var_name.'.value)){
		alert("Укажите правильный номер счета, пожалуйста.");
		document.forms("exchange").'.$var_name.'.focus();
		return false; 
	}

	reg.compile(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/);
	if (document.forms("exchange").user_email.value != ""&&!reg.test(document.forms("exchange").user_email.value)){
		alert("Указан неверный e-mail адрес! "+document.forms("exchange").user_email.value);
		document.forms("exchange").user_email.focus();
		return false; 
	}
	
	if(confirm("ВНИМАНИЕ!\nВы указали следующий номер Яндекс.Деньги счета: "+document.forms("exchange").'.$var_name.'.value+"\nПроверьте номер еще раз, пожалуйста. Если Вы указали ошибочный счет,\nвозврат средств будет невозможен!\nПродолжить?")){
			return true;
	}
	else{
		return false;
	}
	}';
}
elseif($row_to->code == "EPD"){
	$eport_serial = ($_COOKIE["eport_serial"]==""?$eport_serial:$_COOKIE["eport_serial"]);
	$eport_number = ($_COOKIE["eport_number"]==""?$eport_number:$_COOKIE["eport_number"]);

	$js_content = 'function CheckData(){
	var reg = new RegExp("^[0-9]{6}$");
	
	if (document.forms("exchange").eport_serial.value == ""||!reg.test(document.forms("exchange").eport_serial.value)){
		alert("Укажите правильный серийный номер E-Port карты, пожалуйста.");
		document.forms("exchange").eport_serial.focus();
		return false; 
	}
	reg.compile("^[0-9]{5}$");
	if (document.forms("exchange").eport_number.value == ""||!reg.test(document.forms("exchange").eport_number.value)){
		alert("Укажите правильный номер E-Port карты, пожалуйста.");
		document.forms("exchange").eport_number.focus();
		return false; 
	}


	reg.compile(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/);
	if (document.forms("exchange").user_email.value != ""&&!reg.test(document.forms("exchange").user_email.value)){
		alert("Указан неверный e-mail адрес! "+document.forms("exchange").user_email.value);
		document.forms("exchange").user_email.focus();
		return false; 
	}
	
	if(confirm("ВНИМАНИЕ!\nВы указали следующий номер E-Port карты: "+document.forms("exchange").eport_serial.value+"-"+document.forms("exchange").eport_number.value+"\nПроверьте номер еще раз, пожалуйста. Если Вы указали ошибочный счет,\nвозврат средств будет невозможен!\nПродолжить?")){
			return true;
	}
	else{
		return false;
	}
	}';
}
elseif($row_to->code == "EGOLD"||$row_to->code == "ESILVER"||$row_to->code == "EPLATINUM"||$row_to->code == "EPALLADIUM"){
	$egold_account = ($_COOKIE["egold_account"]==""?$egold_account:$_COOKIE["egold_account"]);

	$js_content = 'function CheckData(){
	var reg = new RegExp("^[0-9]+$");
	
	if (document.forms("exchange").egold_account.value == ""||!reg.test(document.forms("exchange").egold_account.value)){
		alert("Укажите правильный номер счета в E-Gold, пожалуйста.");
		document.forms("exchange").egold_account.focus();
		return false; 
	}

	reg.compile(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/);
	if (document.forms("exchange").user_email.value != ""&&!reg.test(document.forms("exchange").user_email.value)){
		alert("Указан неверный e-mail адрес! "+document.forms("exchange").user_email.value);
		document.forms("exchange").user_email.focus();
		return false; 
	}
	
	if(confirm("ВНИМАНИЕ!\nВы указали следующий номер счета в E-Gold: "+document.forms("exchange").egold_account.value+"\nПроверьте номер еще раз, пожалуйста. Если Вы указали ошибочный счет,\nвозврат средств будет невозможен!\nПродолжить?")){
			return true;
	}
	else{
		return false;
	}
	}';
}
else if($row_to->code == "EBGOLD"||$row_to->code == "EBSILVER"||$row_to->code == "EBPLATINUM")
{
	$ebullion_account = ($_COOKIE["ebullion_account"]==""?$ebullion_account:$_COOKIE["ebullion_account"]);
	
	$js_content = 'function CheckData(){
	var reg = new RegExp("^[A-Z]{1}[0-9]+$");
	
	if (document.forms("exchange").ebullion_account.value == ""||!reg.test(document.forms("exchange").ebullion_account.value)){
		alert("Укажите правильный номер счета в E-Bullion, пожалуйста.");
		document.forms("exchange").ebullion_account.focus();
		return false; 
	}

	reg.compile(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/);
	if (document.forms("exchange").user_email.value != ""&&!reg.test(document.forms("exchange").user_email.value)){
		alert("Указан неверный e-mail адрес! "+document.forms("exchange").user_email.value);
		document.forms("exchange").user_email.focus();
		return false; 
	}
	
	if(confirm("ВНИМАНИЕ!\nВы указали следующий номер счета в E-Bullion: "+document.forms("exchange").ebullion_account.value+"\nПроверьте номер еще раз, пожалуйста. Если Вы указали ошибочный счет,\nвозврат средств будет невозможен!\nПродолжить?")){
			return true;
	}
	else{
		return false;
	}
	}';
}
elseif($row_to->type == "pincode")
{
	$js_content = 'function CheckData(){
	
	if (document.forms("exchange").user_email.value == ""){
		alert("Укажите e-mail! Иначе вы не сможете получить ПИН-код.");
		document.forms("exchange").user_email.focus();
		return false; 
	}
	if(confirm("ВНИМАНИЕ!\nВы указали следующий e-mail: "+document.forms("exchange").user_email.value+"\nПроверьте его еще раз, пожалуйста. Если Вы указали ошибочный адрес,\nПИН-код не будет отправлен или будет отправлен не Вам!\nПродолжить?")){
			return true;
	}
	else
	{
	return false;
	}
	}';
}
elseif($row_to->transfare_type == "manual")
{
	$js_content = 'function CheckData(){
	
	if (document.forms("exchange").account.value == ""){
		alert("Укажите эккаунт! Иначе вы не сможете получить платёж.");
		document.forms("exchange").account.focus();
		return false; 
	}
	if(confirm("ВНИМАНИЕ!\nВы указали следующий эккаунт: "+document.forms("exchange").account.value+"\nПроверьте его еще раз, пожалуйста. Если Вы указали ошибочный эккаунт,\nплатеж не будет отправлен или будет отправлен не Вам!\nПродолжить?")){
			return true;
	}
	else
	{
	return false;
	}
	}';
}


if ($row_from->metal_id > 0)
{
	$grams = (round($amount/GetMetalPrice($row_from->metal_id),6));
}

if ($row_to->metal_id>0)
{
	$grams_get = round($values_arr['out_amount']/GetMetalPrice($row_to->metal_id),6);
}

//WM
$wm_id = ($_COOKIE["wm_id"]==""?$wm_id:$_COOKIE["wm_id"]);
$wm_purse = ($_COOKIE[strtolower($purse)."_wm_purse"]==""?$purse:$_COOKIE[strtolower($purse)."_wm_purse"]);

//YM
$var_val = ($_COOKIE[$var_name]==""?$$var_name:$_COOKIE[$var_name]);

//error_reporting(E_ALL);

$smarty->assign("main_class", "header1");
$smarty->assign("money_cources", get_currency_cources());
$smarty->assign("metal_cources", get_metal_cources());
$smarty->assign("title", $SETTINGS['site_name']);
$smarty->assign("info","Для совершения обмена следуйте инструкциям,
 пожалуйста. Деньги поступят на Ваш счет практически сразу после оплаты. ");

$smarty->assign("purse", $purse);
$smarty->assign("js_content", $js_content);
$smarty->assign("in_content", $in_content);
$smarty->assign("curr_from", $curr_from);
$smarty->assign("curr_to", $curr_to);
$smarty->assign("user_email", $user_email);
$smarty->assign("error", urldecode($error));
$smarty->assign("amount", $amount);
$smarty->assign("row_from", $row_from);
$smarty->assign("row_to", $row_to);
$smarty->assign("grams", $grams);
$smarty->assign("grams_get", $grams_get);
$smarty->assign("wm_id", $wm_id);
$smarty->assign("wm_purse", $wm_purse);
$smarty->assign("values_arr",  $values_arr);
$smarty->assign("var_name", $var_name);
$smarty->assign("var_val", $var_val);
$smarty->assign("eport_serial", $eport_serial);
$smarty->assign("eport_number", $eport_number);
$smarty->assign("egold_account", $egold_account);
//$smarty->assign("ebullion_account", $ebullion_account);

error_reporting(E_ALL);

$smarty->display("smartex_exchange.tpl");

?>