//-------------------------------------------------------------
// функция проверки обязательных полей
//-------------------------------------------------------------
function CheckReqField(field)
{

	if (typeof(fldreq)!='undefined')
	{

		var k=0;
		for(k=0;k<fldreq.length;k++){
			if(document.getElementById(fldreq[k][0])){
				var block=document.getElementById(fldreq[k][0]);
				switch(fldreq[k][1]){
					case 'input':
						switch(block.type){
							case 'text':
							case 'password':
								if(block.value.length==0){
									//alert('Заполните поле - '+fldreq[k][2]);
									DisabledSubmit(true);
									return false;
								}
								break;
							case 'radio':
								var arr_r_name = new Array();
								elem = document.getElementsByTagName('input');
								var i, iarr;
								for( i = 0, iarr = 0; i < elem.length; i++) {
									var att = elem[i].getAttribute("name");
									if(att == block.name) {
										arr_r_name[iarr] = elem[i].checked;
										iarr++;
									}
								}
								var j=0;
								for(i=0; i<arr_r_name.length; i++){
									if(arr_r_name[i]==true) j=1;
								}
								if(j==0){
									//alert('Выберите - '+ fldreq[k][2]);
									DisabledSubmit(true);
									return false;
								}
								break;
							case 'checkbox':
								if(block.checked==false){
									//alert('Выберите - '+ fldreq[k][2]);
									DisabledSubmit(true);
									return false;
								}
								break;
							default:
								break;
						}
						break;
					case 'select':
						if(block.value==''){
							//alert('Выберите значение из списка - '+fldreq[k][2]);
							DisabledSubmit(true);
							return false;
						}
						break;
					case 'textarea':
						if(block.value.length==0){
							//alert('Заполните поле - '+fldreq[k][2]);
							DisabledSubmit(true);
							return false;
						}
						break;
					default:
						break;
				}
			}//if end
		}//for end


	}//if (typeof(fldreq)!='undefined')

	DisabledSubmit(false);

}//function CheckReqField(field)

//---------------------------------------------------------------------------
// функция включает и выключает кнопку отправки
//---------------------------------------------------------------------------
function DisabledSubmit(mod)
{

	if (typeof(document.getElementById('mainsubmit'))!='undefined')
	{
		if (document.getElementById('mainsubmit')!=null)
		{
			if (mod)
			{
				document.getElementById('mainsubmit').disabled=true;
			}
			else {
				document.getElementById('mainsubmit').disabled=false;
			}
		}//if (document.getElementById('mainsubmit')!=null)
	}//if (typeof(document.getElementById('MainSubmit'))!='undefined')
	else {

//alert('error');

}//else {

}//function (mod)

var FileIdArray = 	new Array;
var divFileClass = 	"divFileClass";

function AddFileField(th)
{

	//дабы не пользовалься всякими гетбуид, однозначно определяем элимент куда будет добавлять
	var Eliment = 		th.parentNode.firstChild;

	//определили название базового элимента
	var FirstName = 	th.parentNode.firstChild.firstChild.name;

	var FirstSize = 	th.parentNode.firstChild.firstChild.size;

	//определяем начальное положение id по умолчанию
	var j = 0;

	//выставляем начальное положение id
	for(i=0;i<FileIdArray.length;i++)
	{

		//файловое поле уже есть в массиве, возвращаем его id
		if (FileIdArray[i][0] == FirstName)
		{
			j = 	i;
			break;
		}//if (FileIdArray[i][0] == FirstName)

	}//for(i=0;i<nodei.length;i++)

	//будем добавлять поле, для того чтобы не пересекались надо увеличить счетчик
	if (FileIdArray.length > 0)//чтение элиментов
	{
		FileIdArray[j][1]++;
	}//if (j > 0)
	else {//запись элиментов

		//если такого инпут файла ещё небыло, надо добавить его
		j = 	FileIdArray.length;

		FileIdArray[j] = 		new Array;
		FileIdArray[j][0] = 	FirstName;
		FileIdArray[j][1] = 	0;

	}//else {

	var div = 		document.createElement("div");
	div.id = 		FirstName + FileIdArray[j][1] + 'div';

	//div.class = 	divFileClass;
	// Добавляем HTML-контент с пом. свойства innerHTML
	div.innerHTML = '<input type="file" name="'+ FirstName + FileIdArray[j][1] +'" id="'+ FirstName + FileIdArray[j][1] +'"><input id type="button" name="button" value="Удалить" onClick="DeleteFileField(this)">';
	// Добавляем новый узел в конец списка полей
	Eliment.appendChild(div);

	document.getElementById(FirstName + FileIdArray[j][1]).size = 	FirstSize;

}//function AddFileField()

function ge(id)
{
	if (typeof(document.getElementById(id)) != 'undefined')
	{
		if (document.getElementById(id) != null)
		{
			return document.getElementById(id);
		}
	}
	return false;
}





//--------------------------------------------------------------------
//
// проектные js ф-ии
//
//--------------------------------------------------------------------





/*//ф-ия добавления в избранное
function add2favorite(id)
{
	jQuery.post('/?ajax=1', {'ajax': '1', 'id': id}, function(data) {

		//alert (data);

		if (data != 'delete' && data != 'add')
		{

			alert ("При добавление в избранное произошла ошибка!");

		}//if (data != '1')
		else if (data == 'delete') {
			changeFavoriteLabel(id,false);

		}//else {
		else if (data == 'add') {
			changeFavoriteLabel(id,true);

		}

	}); // POST-запрос к /some/script.php

}//function add2favorite()

//ф-ия которая меняет картинку или текст после добавления в избранное
function changeFavoriteLabel(id,mod)
{
	var reg=/<!--\/\/{:\/\/-->(\d+)<!--\/\/:}\/\/-->/;
	var arr=reg.exec(ge('favor').innerHTML);

	//arr[1] - сколько сейчас в избранном

	if (mod)
	{
	//добавление в избранное

		var val = 	arr[1]*1+1;

		ge('add2fav'+id).innerHTML = 	"Удалить из избранного";
		ge('favor').innerHTML =	ge('favor').innerHTML.replace("<!--//{://-->"+arr[1]+"<!--//:}//-->", "<!--//{://-->"+val+"<!--//:}//-->");

	}
	else {
	//удаление из избранного

		var val = 	arr[1]*1-1;

		ge('add2fav'+id).innerHTML = 	"Добавить в избранное";
		ge('favor').innerHTML = ge('favor').innerHTML.replace("<!--//{://-->"+arr[1]+"<!--//:}//-->", "<!--//{://-->"+val+"<!--//:}//-->");

	}

}//function changeFavoriteLabel()*/



//ф-ия добавления в избранное
function add2favorite(id)
{

	jQuery.post('/?ajax=1', {
		'ajax': '1',
		'id': id
	}, function(data) {

		//alert (data);

		if (data != 'delete' && data != 'add')
		{

			alert ("При добавление в избранное произошла ошибка!");

		}//if (data != '1')
		else if (data == 'delete') {

			changeFavoriteLabel(id,false);

		}//else {
		else if (data == 'add') {

			changeFavoriteLabel(id,true);

		}

	}); // POST-запрос к /some/script.php

}//function add2favorite()

//ф-ия которая меняет картинку или текст после добавления в избранное
function changeFavoriteLabel(id,mod)
{
	var reg=/<!--\/\/{:\/\/-->(\d+)<!--\/\/:}\/\/-->/;
	var arr=reg.exec(ge('favor').innerHTML);

	//alert (arr);

	/*ge('favorinfoc').style.display = 	"none";*/

	if (mod)
	{
		//добавление в избранное

		var val = 	arr[1]*1+1;

		/*		if (val == 1)
		{
			ge('favorinfoc').style.display = 	"block";
		}*/

		ge('add2fav'+id).src = 	"/i/fav-a.png";
		ge('add2fav'+id).alt = 	"Удалить из избранного";
		ge('favor').innerHTML =	ge('favor').innerHTML.replace("<!--//{://-->"+arr[1]+"<!--//:}//-->", "<!--//{://-->"+val+"<!--//:}//-->");

	}
	else {
		//удаление из избранного

		var val = 	arr[1]*1-1;

		ge('add2fav'+id).src = 	"/i/fav-p.png";
		ge('add2fav'+id).alt = 	"Добавить в избранное";
		ge('favor').innerHTML = ge('favor').innerHTML.replace("<!--//{://-->"+arr[1]+"<!--//:}//-->", "<!--//{://-->"+val+"<!--//:}//-->");

	}

}//function changeFavoriteLabel()

function nomove()
{
}

function $RF(el, radioGroup) {
	if($(el).type && $(el).type.toLowerCase() == 'radio') {
		var radioGroup = $(el).name;
		var el = $(el).form;
	} else if ($(el).tagName.toLowerCase() != 'form') {
		return false;
	}

	var checked = $(el).getInputs('radio', radioGroup).find(
		function(re) {
			return re.checked;
		}
		);
	return (checked) ? $F(checked) : 0;
}

//добавление в авоську
function add2cart(id)
{

	var inner = 	$('add2basket_answer_'+id).innerHTML;
	$('add2basket_answer_'+id).innerHTML = 		"";
	$('add2basket_answer_'+id).setStyle({
		background: 'transparent url(/i/cartadded.png) no-repeat scroll 0 0'
	});

	var variant = 	0;

	if ($('variant_value') != null)
	{
		variant = $RF('variant_value', 'variant');
	}//if ($('variant_value') != null)
	else {
		variant = 0;
	}//else {


	jQuery.post('/?ajax=2', {
		'ajax': '2',
		'addid': id,
		'variant': variant
	}, function(data) {

		//alert (data);

		$('add2basket_answer_'+id).innerHTML = 	inner;
		$('add2basket_answer_'+id).setStyle({
			background: 'transparent url(/i/cat-costbg.png) no-repeat scroll 0 0'
		});

		if (data.length > 100)
		{
			alert ("При добавление в корзину произошла ошибка!");

		}//if (data.length > 100)
		else {
			var reg=/(\d+)::(\d+)::(\d+)::(\d+)/;
			var arr=reg.exec(data);

			if (arr[1] > 0)
			{
				$('cartres2').className = 	"a";

			}//if (arr[1] > 0)
			else {
				$('cartres2').className = 	"p";

			}//else {

			returnCartRes(arr[1],arr[2],arr[3],arr[4]);

		}//else {

	}); // POST-запрос к /some/script.php

}//function add2fav(id)


function RadioLite(it)
{

	if ($('variant_value') != null)
	{
		$('variant_value').getInputs('radio', 'variant').find(
			function(re) {
				//alert (typeof (re.parentNode));
				re.parentNode.className = 	"";
			}
			);

	//variant = $RF('variant_value', 'variant');
	}//if ($('variant_value') != null)

	it.parentNode.className = 	"a";

}//function RadioLite(it)

//var hash;

function RecalcCart(Elem)
{

	if (!Elem) return;

	var re=/\D/g
	//===
	// условие если ничего не введено
	//===
	if (Elem.value.length < 1)
	{
		return;
	}

	var iID=Number(Elem.name.replace(re, ''));

	jQuery.cookie("cart["+iID+"]",Elem.value,{
		path: '/'
	});

	var allsum = 	0;

	jQuery('.qnt').each(function(i,it){
		var id=			Number(it.name.replace(re, ''));
		var numb = 		Number(it.value);
		//		var price = 	jQuery('#cartres['+id+']').value;
		//alert ('cartqnt['+id+']');
		//var trueid = 	"document.getElementById('cartres['+cartid+']')cartpr["+id+"]";
		//var price = 	Number(document.getElementById("cartpr["+id+"]").value);
		var price = 	$("cartpr["+id+"]").value;
		var sum = 		price*numb;
		allsum = 		allsum+sum;
		$("cartres["+id+"]").innerHTML = 	number_format(sum, 0, ',', ' ');
	//alert (price + '|' + sum + '|' + numb);
	});
	$("sum").innerHTML = 	number_format(allsum, 0, ',', ' ');

//jQuery.cookie("the_cookie", "the_value");

}//function RecalcCart()

function number_format(number, decimals, dec_point, thousands_sep){
	var exponent = "";
	var numberstr = number.toString ();
	var eindex = numberstr.indexOf ("e");
	var i, z;
	if(eindex > -1){
		exponent = numberstr.substring (eindex);
		number = parseFloat (numberstr.substring (0, eindex));
	}

	if(decimals != null){
		var temp = Math.pow (10, decimals);
		number = Math.round (number * temp) / temp;
	}
	var sign = number < 0 ? "-" : "";
	var integer = (number > 0 ?
		Math.floor (number) : Math.abs (Math.ceil (number))).toString ();

	var fractional = number.toString ().substring (integer.length + sign.length);
	dec_point = dec_point != null ? dec_point : ".";
	fractional = decimals != null && decimals > 0 || fractional.length > 1 ? (dec_point + fractional.substring (1)) : "";
	if(decimals != null && decimals > 0){
		for(i = fractional.length - 1, z = decimals; i < z; ++i)
			fractional += "0";
	}

	thousands_sep = (thousands_sep != dec_point || fractional.length == 0) ?
	thousands_sep : null;
	if(thousands_sep != null && thousands_sep != ""){
		for (i = integer.length - 3; i > 0; i -= 3)
			integer = integer.substring (0 , i) + thousands_sep + integer.substring (i);
	}
	return sign + integer + fractional + exponent;
}


//RecalcCart()
var TimeBreak = 	0;

function timestamp()
{
	return parseInt(new Date().getTime().toString().substring(0, 10))
}

function RecalcCart1(Elem,now)
{
	TimeBreak = timestamp()+2;
	setTimeout(function(){
		RecalcCartNow(Elem,now)
	},1900);

}

//----
// пересчитываем авоську
//----
function RecalcCartNow(Elem,now)
{

	if (timestamp() < TimeBreak && !now)
	{
		return;
	}


	TimeBreak = timestamp()+2;


	if (Elem)
	{
		var re=/\D/g
		//===
		// условие если ничего не введено
		//===
		if (Elem.value.length < 1)
		{
			return;
		}

		var iID=Number(Elem.name.replace(re, ''));
		//alert (Elem.value);

		jQuery.post('/?ajax=2', {
			'ajax': '2',
			'cartid': iID,
			'cartnum': Elem.value
		}, function(data) {

			if (data.length > 100)
			{
				alert ("При добавление в корзину произошла ошибка!");
			}
			else {

				var reg=/(\d+)::(\d+)::(\d+)::(\d+)/;
				var arr=reg.exec(data);

				returnCartRes(arr[1],arr[2],arr[3],arr[4]);

			}

		}); // POST-запрос к /some/script.php

	}//if (Elem)

}//function RecalcCart(Elem)

function cartdelete(num)
{

	document.getElementById("cartqnt["+num+"]").value = 0;

	RecalcCart(document.getElementById("cartqnt["+num+"]"));

}//function cartdelete(num)

function returnCartRes(rnum,rprs,cartid,cartnum)
{

	var res;

	if (cartid > 0)
	{

		if (document.getElementById("ank") != null)
		{
			if (rprs < 1)
			{
				//alert ('OK');
				document.getElementById("ank").style.display = 'none';
			}//if (rprs < 1)
			else {
				document.getElementById("ank").style.display = 'block';
			//sinh('fon_frame');
			}//else {
		}

		if (cartid)
		{
			document.getElementById('cartres['+cartid+']').innerHTML = cartnum;
			document.getElementById('sum').innerHTML = rprs;
			//alert ('OK');
			return;
		}//if (cartid)

		//alert (rnum);

		if (rnum < 1)
		{
			//alert ('OK');

			return;
		}//if (rnum < 1)

	}

	res = 	'В <a href="/ru/cart/">вашей корзине</a> ' + GetCorrectWord(rnum*1, ['товар','товара','товаров']) +' на сумму: ' +number_format(rprs,0,',','&nbsp;')+ ' руб.';

	if(document.getElementById('cartres')) document.getElementById('cartres').innerHTML = res;

}//endfuntion

//-----------------------
//функция возвращает правильное слово для числа, пример использования: GetCorrectWord(10, ['осел','осла','ослов'])
//-----------------------
function GetCorrectWord(iNum, aWords, bSkipNum){

	var iLast=Number(String(iNum).substr(-1));
	var sResult;

	/* для корректной работы не забываем прототив between */
	if(iNum.between(5,20))
	{
		sResult=aWords[2];
	}//if(iNum.between(5,20))
	else {

		switch(iLast){
			case 1:
				sResult=aWords[0];
				break;
			case 2:
			case 3:
			case 4:
				sResult=aWords[1];
				break;
			default:
				sResult=aWords[2];
				break;
		}//switch(iLast){

	}//else {}//if(iNum.between(5,20))

	return (bSkipNum) ? sResult : iNum+' '+sResult;
}//function GetCorrectWord(iNum, aWords, bSkipNum){

//-------
// прототип для корректной работы GetCorrectWord
//-------
Number.prototype.between=function(iStart, iEnd, bNoInclude){

	var iVal=this.valueOf();

	if(bNoInclude)
		return ( iVal > iStart && iVal < iEnd );
	else
		return ( iVal >= iStart && iVal <= iEnd );

}//Number.prototype.between=function(iStart, iEnd, bNoInclude){
function number_format(number, decimals, dec_point, thousands_sep){
	var exponent = "";
	var numberstr = number.toString ();
	var eindex = numberstr.indexOf ("e");
	var i, z;
	if(eindex > -1){
		exponent = numberstr.substring (eindex);
		number = parseFloat (numberstr.substring (0, eindex));
	}

	if(decimals != null){
		var temp = Math.pow (10, decimals);
		number = Math.round (number * temp) / temp;
	}
	var sign = number < 0 ? "-" : "";
	var integer = (number > 0 ?
		Math.floor (number) : Math.abs (Math.ceil (number))).toString ();

	var fractional = number.toString ().substring (integer.length + sign.length);
	dec_point = dec_point != null ? dec_point : ".";
	fractional = decimals != null && decimals > 0 || fractional.length > 1 ? (dec_point + fractional.substring (1)) : "";
	if(decimals != null && decimals > 0){
		for(i = fractional.length - 1, z = decimals; i < z; ++i)
			fractional += "0";
	}

	thousands_sep = (thousands_sep != dec_point || fractional.length == 0) ?
	thousands_sep : null;
	if(thousands_sep != null && thousands_sep != ""){
		for (i = integer.length - 3; i > 0; i -= 3)
			integer = integer.substring (0 , i) + thousands_sep + integer.substring (i);
	}
	return sign + integer + fractional + exponent;
}


function ChangeVariant(id,it)
{
	jQuery.post('/?ajax=3', {
		'ajax': '3',
		'cartid': id,
		'cartvar': it.value
	}, function(data) {

		if (data.length > 100)
		{
			alert ("При изменении произошла ошибка!");

		}//if (data.length > 100)
		else {

			if (data == 1)
			{
			//все хорошо
			}//if (data == 1)
			else {
				alert ("При изменении произошла ошибка!");
			}//else {

		}//else {

	}); // POST-запрос к /some/script.php

}//function ChangeVariant()

function sendform(){

	var userName = 			ge("anketa").userName.value;
	var userPhone = 		ge("anketa").userPhone.value;
	var userMobilPhone = 	ge("anketa").userMobilPhone.value;

	//var userCity = ge("anketa").userCity.value;

	if(userName.length == 0){
		alert('Введите Имя');
		return;
	}

	if(userPhone.length == 0 && userMobilPhone.length == 0)
	{
		alert('Введите номер телефона');
		return;
	}

	ge("anketa").submit();

}//function sendform()

function show_faq(id)
{
	//alert (ge(id).style.display);

	if (ge(id).style.display == 'none')
	{
		ge(id).style.display = 'block';

	}//if (ge(id).style.display == 'none')
	else if (ge(id).style.display == 'block')
	{
		ge(id).style.display = 'none';

	}//if (ge(id).style.display == 'block')

}//function show_faq(id)

//-------------------------------------------------------
// ф-ия для скрола
//-------------------------------------------------------
function MoveScroll()
{

}

function add2Link(it)
{
	var trip_from = 	$('#avia_loc_from').val();
	var trip_to = 		$('#avia_loc_to').val();


	var href = 			$(it).attr('href');

	if (trip_from != '')
	{
		href =				href + "&B_LOCATION_1=" + trip_from;

	}//if (trip_from != '')


	if (trip_to != '')
	{

		href =				href + "&E_LOCATION_1=" + trip_to;

	}//if (trip_to != '')


	$(it).attr('href',href);

}//function add2Link(it)
timerRunning=null;
$(document).ready(function(){

	$("div.buttonPage a").mousedown(function(){
		serialData();
	});
	if($("#al_cvv").length==1)
	{

		WDSMessage.setMessage(1530,"Введите CVC2 код. (1530)");
		$("#btnConfirmPurc").mousedown(function(){
			PURC.setActionBook();
			if(PURC.alreadySubmited){}else{
				PURC.alreadySubmited=true;
				WDSError.init();
				if($("#al_cvv").val()==""&&$(":radio:checked").val()=="CC")
				{
					WDSError.add(WDSMessage.getMessage(1530),document.getElementById("al_cvv"));
					$("#al_cvv").closest("tr").addClass("ErrorBgrd").find("span.ImgError").css("display","inline");
				}
				PURC.preCheck();
				if(WDSError.hasError()){
					WDSError.show();
					PURC.alreadySubmited=false;
				}else{
					PURC.cleanFields();
					$("#AIR_CC_ADDRESS_SECONDLINE").val("CVC2: "+$("#al_cvv").val());
					document.PURCForm.submit();
					var obj=document.PURCForm.HOTEL_HBP;
					if(obj){
						if(WDSCommon.getTagValue(obj)!="true"){
							WDSWaitingImage.pleaseWait("wait");
						}
					}
				}
			}
		}).unbind("click");

	}
	document.onkeypress=null;
});

function serialData(){
	var t=$(".serialData").serialize();
	$("#GoogleAnaliticData").val(t);
	//alert($("#GoogleAnaliticData").val());
}


function PURC_check(){
	if(PURC.alreadySubmited){}else{
		PURC.alreadySubmited=true;
		WDSError.init();
		this.preCheck();
		if(WDSError.hasError()){
			WDSError.show();
			PURC.alreadySubmited=false;
		}else{
			this.cleanFields();
			document.PURCForm.submit();
			var obj=document.PURCForm.HOTEL_HBP;
			if(obj){
				if(WDSCommon.getTagValue(obj)!="true"){
					WDSWaitingImage.pleaseWait("wait");
				}
			}
		}
	}
}


