/*
 * Image preview script 
 * powered by jQuery (http://www.jquery.com)
 * 
 * written by Alen Grakalic (http://cssglobe.com)
 * 
 * for more info visit http://cssglobe.com/post/1695/easiest-tooltip-and-image-preview-using-jquery
 *
 */
 
this.imagePreview = function(){	
	/* CONFIG */
		
		xOffset = 10;
		yOffset = 30;
		
		// these 2 variable determine popup's distance from the cursor
		// you might want to adjust to get the right result
		
	/* END CONFIG */
	$("a.preview").hover(function(e){
		this.t = this.title;
		this.title = "";	
		var c = (this.t != "") ? "<br/>" + this.t : "";

var maxSide = 400;
var $this = jQuery(this);
var curWidth = $this.attr('data-width');
var curHeight = $this.attr('data-height');

var downK = 0;

if ( curWidth > maxSide )
{
  downK  = maxSide / curWidth;
  curWidth = maxSide;
  curHeight = curHeight * downK;
}

if ( curHeight > maxSide )
{
  downK  = maxSide / curHeight ;
  curHeight = maxSide;
  curWidth = curHeight * downK;
}

		$("body").append("<p id='preview'><img src='"+ this.href +"' alt='Image preview' width='"+curWidth+"px' height='"+curHeight +"px'/>"+ c +"</p>");						
		//alert(e.pageY);
		$("#preview")
		    //.css("position","absolute")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px")
			.fadeIn("fast");						
    },
	function(){
		this.title = this.t;	
		$("#preview").remove();
    });	
	$("a.preview").mousemove(function(e){
		$("#preview")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px");
	});			
};


// starting the script on page load
$(document).ready(function(){
	imagePreview();
	$('.atooltip').tooltip({
						   showURL: false,
						   track: true
						   });	
	timeOst();
});

function declOfNum(number, titles) 
{
	cases = [2, 0, 1, 1, 1, 2];
	return "<b>" + number + "</b> " + titles[ (number%100>4 && number%100<20)? 2 : cases[Math.min(number%10, 5)] ];
}

function timeOst()
{
	if (document.getElementById("id_timeost"))
	{
		tOst=$("#id_timeost").val();
		tOst-=1;
		if (tOst>=0)
		{
			var mdays=0;
			var mhours=0;
			var mmin=0;
			var msec=0;
			if (tOst>=60)
			{
				mmin=Math.floor(tOst/60);
			}
			msec=tOst-mmin*60;
			
			values = [
              declOfNum(mmin, ["минута", "минуты", "минут"]), 
              declOfNum(msec, ["секунда", "секунды", "секунд"])
			  ];

			$(".timeost").html("У Вас осталось "+values.join(" "));
			$("#id_timeost").val(tOst);
			setTimeout(timeOst,1000);
		}
		else
		{
			$(".div_pred_dnya").hide("slow");
		}
	}
}

function delBasketItem(itemID)
{
	if (confirm("Удалить?"))
	{
		//$("#DELETE_"+itemID).val("Y");
		$("#form_basket").append('<input type="hidden" name="BasketRefresh" value="Y">');
		$("#DELETE_"+itemID).val("Y");
		$("#form_basket").attr("action", '/personal/cart/' );
		$("#form_basket").submit();
		//document.getElementById("DELETE_"+itemID).value="Y";
		//document.getElementById("form_basket").submit();
	}
	return false;
}

function inputClearText(e,txt)
{
	if (e.value==txt)
	{
		e.value="";
	}
}

function inputClearText2(e)
{
		e.value="";

}

function inputClearTextArea2(e,txt)
{
		e.innerHTML="";
		
}

function inputClearTextArea(e,txt)
{
	if (e.innerHTML==txt)
	{
		e.innerHTML="";
	}
}

function handlerDeliveryMethod( val )
{
	//alert( val.indexOf('sam') + 1 );
	if( val.indexOf( 'sam' ) + 1 > 0 ) 
		$( '#ADDRESS' ).val( 'Москва ул. Красная Пресня 6/2 стр 1' );
	else
		$( '#ADDRESS' ).val( '' );
}

function BasketRefresh()
{
	$("#form_basket").append('<input type="hidden" name="BasketRefresh" value="Y">');
	$("#form_basket").attr("action", '/personal/cart/' );
	$("#form_basket").submit();
}

function GoToOrder()
{
	$("#form_basket").append('<input type="hidden" name="BasketOrder" value="Y" />');
	$("#form_basket").submit();
}

function OrderSetCoupon(e)
{
	if (e.checked==true)
	{
		//$("#id_coupon").show("slow");
		$("#id_coupon > input").val("CP-ZTRB8-7H1VVAY");
	}
	else
	{
		//$("#id_coupon").hide("fast");
		$("#id_coupon > input").val("");
	}
	BasketRefresh();
}

function FieldsFocuses()
{
	$(".input_text").focus();
	$(".textarea_text").focus();
}

function AjaxGetSelectCities()
{
	//if (type=="undefined") type="";
	//var city_sel=$("#select_delivery_id > select").val();
	var predoplata="N";
	if (document.getElementById("id_predoplata").checked)
	{
		predoplata="Y";
	}
	
        $("#select_delivery_id").html("Загрузка списка...");
	$.ajax(
	{
		url: '/ajax/index.php', 
		type: "POST", 
		timeout: 15000, 
		data: 
		{
			cmd: "GetSelectCities",
			predoplata: predoplata
		}, 
		dataType: 'text', 
		success: function(data)
		{
			if( data.length == 0 )
                        {
                         $("#delivery_transit").html( '' ); 
                         $("#delivery_price").html( 'Стоимость доставки 806 рублей. Доставка возможна только по предоплате.' );
                        } 
                        $("#select_delivery_id").html(data);
			AjaxGetDeliveryPrice($("#select_delivery_id > select").val());
		}, error: function(event) {}
	});
}

function setPredoplata(ob)
{
	$("#delivery_price").html("");			 
	$("#delivery_transit").html("");
	AjaxGetSelectCities();
	/*
	if (ob.checked)
	{
		AjaxGetSelectCities("ems");
	}
	else
	{
		AjaxGetSelectCities("cpcr");
	}
	*/
}

function AjaxGetDeliveryPrice(val)
{
	/* begin: изменение списка видов оплат */
	var _val = $( '#select_delivery_id > select :selected' ).val();
	var _found = false;
	
	if( _val == "1746|sam" )
	{
		$( '#PAY_SYSTEM_ID option[value="1"]' ).remove();
		
		_found = false;
		
		$( '#PAY_SYSTEM_ID option' ).each(function(){
			this.selected = false;
			if( $( this ).val() == "8" )
				_found = true;
		});
		
		if( !_found )
			$( '#PAY_SYSTEM_ID' ).prepend( $( '<option id="ID_PAY_SYSTEM_ID_8" value="8">Оплата при самовывозе</option>' ) );
		
		$( '#PAY_SYSTEM_ID option[value="8"]' ).prop( "selected", "selected" ); // .attr() не срабатывает в jQuery 1.6
		
	}
	
	if( _val == "1746|courier" )
	{
		$( '#PAY_SYSTEM_ID option[value="8"]' ).remove();
		
		_found = false;
		
		$( '#PAY_SYSTEM_ID option' ).each(function(){
			this.selected = false;
			if( $( this ).val() == "1" )
				_found = true;
		});
		
		if( !_found )
			$( '#PAY_SYSTEM_ID' ).prepend( $( '<option id="ID_PAY_SYSTEM_ID_1" value="1">Оплата курьеру при получении</option>' ) );
		
		$( '#PAY_SYSTEM_ID option[value="1"]' ).prop( "selected", "selected" ); // .attr() не срабатывает в jQuery 1.6

	}

	if( _val != "1746|sam" && _val != "1746|courier" )
	{
		//$( '#PAY_SYSTEM_ID option[value="1"]' ).remove();
		$( '#PAY_SYSTEM_ID option[value="8"]' ).remove();
		
		$( '#PAY_SYSTEM_ID option[value="1"]' ).prop( "selected", "selected" ); // .attr() не срабатывает в jQuery 1.6

	}
	
	/* end: изменение списка видов оплат */
	
	$("#delivery_price").html("");	
	$("#delivery_transit").html("");
	if (val=="") return false;
	$("#delivery_transit").html("загрузка...");
	var basket_itog = $("#id_basket_itog").val();
	var basket_weightitog=$("#id_basket_weightitog").val();
	$.ajax(
	{
		url: '/ajax/index.php', 
		type: "POST", 
		timeout: 15000, 
		data: 
		{
			cmd: "GetDeliveryPrice",
			delivery: val,
			basket_itog: basket_itog,
			basket_weightitog: basket_weightitog
		}, 
		dataType: 'text', 
		success: function(data)
		{
			var arData=data.split('|');	
			$("#delivery_transit").html(arData[1]);
			$("#delivery_price").html(arData[0]);
			switch (arData[2])
			{
				case "cpcr":
				 $("#predoplataCheck > div").show();
				 $("#id_delivery_info").html("Курьерская служба СПСР - оплата при получении курьеру");
				break;
				
				case "ems":
				 $("#predoplataCheck > div").show();
				 $("#id_delivery_info").html("EMS - доставка EMS почтой России");
				break;
				
				default: 
				 $("#predoplataCheck > div").hide();
				 $("#id_delivery_info").html("Доставляем без предоплаты<br />в любой город России.<br />По Москве - доставка 1 день.");
			}
			var all_summ=$("#id_basket_itog").val()*1;
			var sum=arData[3]*1+all_summ;
			var sum_format=number_format(sum, 0, '.', ' ');
			
			$(".total_sum").html( sum_format + " руб." );
			$("#idallsumm").val( sum );
		}, error: function(event) {}
	});
}

function showModal(id)
{
	$("#idProductID").val(id);
	$("#modal_tobasket").modal();
	$(".modal_tobasket_txt").html("Загрузка...");
	var size=0;
	if (document.getElementById("sel_size"))
	{
		size=document.getElementById("sel_size").value;
	}
	$.ajax(
	{
		url: "/ajax/index.php", 
		type: "POST", 
		timeout: 15000, 
		data: 
		{
			cmd: "AjaxAddToBasket",
			product_id: id,
			size: size
		}, 
		dataType: 'text', 
		success: function(data)
		{
			$("#idDivToBasketTxt").val(data);
			$(".modal_tobasket_txt").html(data);
			UpdateBasketNum();
		}, error: function(event) {}
	});
}

function modalToBasket()
{
	$("#modal_tobasket").modal();
	$(".modal_tobasket_txt").html($("#idDivToBasketTxt").val());
}

function productGoBasket()
{
	$(".modal_body").html("Пожалуйста, подождите...");
	/*
	var id=$("#idProductID").val();
	var urlPath=$("#idUrlPath").val();
	if (urlPath.indexOf("?")<0)
	{
		urlPath=urlPath+"?av=tt";
	}
	var href=urlPath+'&action=BUY&id='+id;
	if (document.getElementById("sel_size"))
	{
		href+='&size='+document.getElementById("sel_size").value;
	}
	window.location=href;
	*/
	window.location='/personal/cart/';
	return false;
}

function productContinueChoice()
{
	$(".modal_body").html("Пожалуйста, подождите...");
	/*
	var id=$("#idProductID").val();
	var urlPath=$("#idUrlPath").val();
	var href=urlPath+'&action=ADD2BASKET&id='+id;
	if (document.getElementById("sel_size"))
	{
		href+='&size='+document.getElementById("sel_size").value;
	}
	window.location=href;
	*/
	$.modal.close();
	return false;
}

function productOrderInOneClick()
{
	var id=$(".classProductID").val();
	$(".modal_body").html("Пожалуйста, подождите...");
	/*
	var id=$("#idProductID").val();
	var urlPath=$("#idUrlPath").val();
	if (urlPath.indexOf("?")<0)
	{
		urlPath=urlPath+"?av=tt";
	}
	var href=urlPath+'&action=BUY&id='+id;
	if (document.getElementById("sel_size"))
	{
		href+='&size='+document.getElementById("sel_size").value;
	}
	$.ajax(
	{
		url: href, 
		type: "POST", 
		timeout: 15000, 
		data: 
		{
		}, 
		dataType: 'text', 
		success: function(data)
		{
			$.modal.close();
			setTimeout(openOrderInOneClick, 10);
		}, error: function(event) {}
	});
	*/
	$.modal.close();
	setTimeout(openOrderInOneClick, 10);
	return false;
}

function openOrderInOneClick()
{
	$("#modal_order").modal({
							onClose: function()
							{
								$.modal.close();
								setTimeout(modalToBasket, 10);
							}
							});
	$('#MO_DELIVERY_TYPE_1').click();
}

function AjaxModalOrder()
{
	FieldsFocuses();
	$(".order_modal_body > .send").html("Загрузка...");
	var delivery_type=$("input[name=MO_DELIVERY_TYPE]:checked").val();
	var delivery_id=$("select[name=MO_DELIVERY_ID]").val();
	var fio=$("input[name=MO_FIO]").val();
	var phone=$("input[name=MO_PHONE]").val();
	var email=$("input[name=MO_EMAIL]").val();
	var delivery_date=$("input[name=MO_DELIVERY_DATE]").val();
	var address=$("textarea[name=MO_ADDRESS]").val();
	$.ajax(
	{
		url: '/ajax/index.php', 
		type: "POST", 
		timeout: 30000, 
		data: 
		{
			cmd: "ModalOrder",
			delivery_type: delivery_type,
			delivery_id: delivery_id,
			fio: fio,
			phone: phone,
			email: email,
			delivery_date: delivery_date,
			address: address
		}, 
		dataType: 'text', 
		success: function(data)
		{
			//alert(data);
			var arData=AjaxResultsDecode(data);
			if ((arData["ERROR"]!=undefined) && (arData["ERROR"]!=""))
			{
				$(".order_modal_body > .send").html('<a href="#" onClick="AjaxModalOrder(); return false;"><img src="/images/new/morder_send.png" width="217" height="37" alt="" /></a>');

				if ((arData["ADV_ERROR_FIO"]!=undefined) && (arData["ADV_ERROR_FIO"]!=""))
				{
					$('.modal_error_fio')
					   .removeData('qtip') 
					   .qtip({
						  content: {
							 text: arData["ADV_ERROR_FIO"], 
							 title: {
								text: "Ошибка",
								button: true
							 }
						  },
						  position: {
							 my: 'bottom left', // Use the corner...
							 at: 'top left' // ...and opposite corner
						  },
						  show: {
							 event: false, // Don't specify a show event...
							 ready: true // ... but show the tooltip when ready
						  },
						  hide: false, // Don't specify a hide event either!
						  style: {
							 classes: 'ui-tooltip-shadow ui-tooltip-plain'
						  }
					   });
				}
				
				if ((arData["ADV_ERROR_DELIVERY_SPOSOB"]!=undefined) && (arData["ADV_ERROR_DELIVERY_SPOSOB"]!=""))
				{
					$('.modal_error_delivery_sposob')
					   .removeData('qtip') 
					   .qtip({
						  content: {
							 text: arData["ADV_ERROR_DELIVERY_SPOSOB"], 
							 title: {
								text: "Ошибка",
								button: true
							 }
						  },
						  position: {
							 my: 'bottom left', // Use the corner...
							 at: 'top left' // ...and opposite corner
						  },
						  show: {
							 event: false, // Don't specify a show event...
							 ready: true // ... but show the tooltip when ready
						  },
						  hide: false, // Don't specify a hide event either!
						  style: {
							 classes: 'ui-tooltip-shadow ui-tooltip-plain'
						  }
					   });
				}
				
				//alert(arData["ADV_ERROR_DELIVERY_GOROD"]);
				if ((arData["ADV_ERROR_DELIVERY_GOROD"]!=undefined) && (arData["ADV_ERROR_DELIVERY_GOROD"]!=""))
				{
					$('.modal_error_delivery_gorod')
					   .removeData('qtip') 
					   .qtip({
						  content: {
							 text: arData["ADV_ERROR_DELIVERY_GOROD"], 
							 title: {
								text: "Ошибка",
								button: true
							 }
						  },
						  position: {
							 my: 'bottom left', // Use the corner...
							 at: 'top left' // ...and opposite corner
						  },
						  show: {
							 event: false, // Don't specify a show event...
							 ready: true // ... but show the tooltip when ready
						  },
						  hide: false, // Don't specify a hide event either!
						  style: {
							 classes: 'ui-tooltip-shadow ui-tooltip-plain'
						  }
					   });
				}
				
				if ((arData["ADV_ERROR_PHONE"]!=undefined) && (arData["ADV_ERROR_PHONE"]!=""))
				{
					$('.modal_error_phone')
					   .removeData('qtip') 
					   .qtip({
						  content: {
							 text: arData["ADV_ERROR_PHONE"], 
							 title: {
								text: "Ошибка",
								button: true
							 }
						  },
						  position: {
							 my: 'bottom left', // Use the corner...
							 at: 'top left' // ...and opposite corner
						  },
						  show: {
							 event: false, // Don't specify a show event...
							 ready: true // ... but show the tooltip when ready
						  },
						  hide: false, // Don't specify a hide event either!
						  style: {
							 classes: 'ui-tooltip-shadow ui-tooltip-plain'
						  }
					   });
				}
				
				if ((arData["ADV_ERROR_EMAIL"]!=undefined) && (arData["ADV_ERROR_EMAIL"]!=""))
				{
					$('.modal_error_email')
					   .removeData('qtip') 
					   .qtip({
						  content: {
							 text: arData["ADV_ERROR_EMAIL"], 
							 title: {
								text: "Ошибка",
								button: true
							 }
						  },
						  position: {
							 my: 'bottom left', // Use the corner...
							 at: 'top left' // ...and opposite corner
						  },
						  show: {
							 event: false, // Don't specify a show event...
							 ready: true // ... but show the tooltip when ready
						  },
						  hide: false, // Don't specify a hide event either!
						  style: {
							 classes: 'ui-tooltip-shadow ui-tooltip-plain'
						  }
					   });
				}
				
			}
			else
			{
				//$(".order_modal_body").html("<h2>Заказ успешно оформлен</h2>Пожалуйста, подождите...");
				$(".order_modal_body").html("<h2>Заказ успешно оформлен</h2>Пожалуйста, подождите...<img src='http://www.goldstimul.com/scripts/sale.php?AccountId=7cdfd6c2&TotalCost="+arData["ORDER_ITOG"]+"&OrderID="+arData["ORDER_ID"]+"&ProductID="+arData["ORDER_PRODUCT_IDS"]+"' width='1' height='1' >");
				window.location="/personal/order/";
			}
		}, error: function(event) {}
	});
}

function AjaxResultsDecode(str,equal,razd)
{
	if (equal==undefined) equal="%=%";
	if (razd==undefined) razd="%|%";
	var arParam=str.split(razd);
	var count=arParam.length;
	var arReturn=new Array();
	for (var i=0;i<count;i++)
	{
		if (strpos(arParam[i], "Parse error")!=false)
		{
			alert(arParam[i]);
			break;
		}
		arI=arParam[i].split(equal);
		if (arI[1]!=undefined)
		{
			arReturn[arI[0]]=arI[1];
		}
	}
	return(arReturn);
}

function strpos( haystack, needle, offset){	// Find position of first occurrence of a string
	// 
	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	var i = haystack.indexOf( needle, offset ); // returns -1
	return i >= 0 ? i : false;
}

function productBUY(id)
{
	if (document.getElementById('sel_size').value=='0')
	{
		alert('Укажите пожалуйста размер изделия!');
	}
	else
	{
		showModal(id);
	}
	return false;
}

function number_format( number, decimals, dec_point, thousands_sep ) {
	var i, j, kw, kd, km;

	// input sanitation & defaults
	if( isNaN(decimals = Math.abs(decimals)) ){
		decimals = 2;
	}
	if( dec_point == undefined ){
		dec_point = ",";
	}
	if( thousands_sep == undefined ){
		thousands_sep = ".";
	}

	i = parseInt(number = (+number || 0).toFixed(decimals)) + "";

	if( (j = i.length) > 3 ){
		j = j % 3;
	} else{
		j = 0;
	}

	km = (j ? i.substr(0, j) + thousands_sep : "");
	kw = i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + thousands_sep);
	//kd = (decimals ? dec_point + Math.abs(number - i).toFixed(decimals).slice(2) : "");
	kd = (decimals ? dec_point + Math.abs(number - i).toFixed(decimals).replace(/-/, 0).slice(2) : "");


	return km + kw + kd;
}
