/**
 * @author max
 */

$(function(){
	$('ul.catalog > li.active > a').attr('href', 'javascript:void(0);');

	var iSearchFormLeft = Number($('#inputString').offset().left)+25;
	$('#suggestions').css('left', iSearchFormLeft+'px');

	var resizeTimer = null;
	$(window).bind('resize', function() {
	if (resizeTimer) clearTimeout(resizeTimer);
		resizeTimer = setTimeout(setSuggestBlock, 1);
	});

	$("a[rel^='prettyPhoto']").prettyPhoto({
		animationSpeed: 'normal',
		padding: 40,
		opacity: 0.85,
		showTitle: false,
		allowresize: true,
		counter_separator_label: '/',
		theme: 'dark_rounded',
		callback: function(){}
	});

	$('a.external').attr('target', '_blank');

	$('#inputString').bind('keypress', function(e) {
		var code = (e.keyCode ? e.keyCode : e.which);
		if(code == 13) {
			makeSearch();
		}
	});

	$('.block-radio input:radio').live('click', function() {
		var ukraine = $('#country-ukraine').is(':checked') ? true : false;
		var akyiv = ['киев', 'київ', 'kiev', 'kyiv'];
		var city = strtolower($('#orderFormCity').val());
		var kyiv = in_array(city, akyiv) ? true : false;
		var shiptype = $('#orderFormShiptype').val();
		var sid = $('#orderSid').val();

		$.post('/assets/snippets/order/ajax-shiptype.php', {ukraine: (ukraine ? 1 : 0), kyiv: (kyiv ? 1 : 0), shiptype: shiptype, sid: sid}, function(data) {
			$('#orderFormShiptypeBlock').html(data);
		});

		if (ukraine) {
			$('#orderFormCountryField').addClass('hidden');
			$('#orderFormStateField').addClass('hidden');
			$('#orderFormStateSelect').removeClass('hidden');

			$.post('/assets/snippets/order/ajax-shippingprice.php', {shiptype: shiptype, sid: sid}, function(data) {
				$('#shipping-data').html(data);
			});
		} else {
			$('#orderFormCountryField').removeClass('hidden');
			$('#orderFormStateField').removeClass('hidden');
			$('#orderFormStateSelect').addClass('hidden');

			$('#shipping-data').html('<p>Стоимость доставки обсуждается отдельно</p>');
		}
	})

	$('#orderFormShiptype').live('change', function() {
		var selected = $(this).val();
		var sid = $('#orderSid').val();
		// alert(selected);

		/*if (selected == 1) {
			$('#orderFormZipField').removeClass('hidden');
		} else {
			$('#orderFormZipField').addClass('hidden');
		}*/
		
		$.post('/assets/snippets/order/ajax-shippingprice.php', {shiptype: selected, sid: sid}, function(data) {
			$('#shipping-data').html(data);
		});
	})


	$('#orderFormCity').live('focusout', function() {
		var ukraine = $('#country-ukraine').is(':checked') ? true : false;
		var akyiv = ['киев', 'київ', 'kiev', 'kyiv'];
		var city = strtolower($('#orderFormCity').val());
		var kyiv = in_array(city, akyiv) ? true : false;
		var shiptype = $('#orderFormShiptype').val();
		var sid = $('#orderSid').val();

		$.post('/assets/snippets/order/ajax-shiptype.php', {ukraine: (ukraine ? 1 : 0), kyiv: (kyiv ? 1 : 0), shiptype: shiptype, sid: sid}, function(data) {
			$('#orderFormShiptypeBlock').html(data);
		});
	})

	$('#pageslist-toggler').live('click', function() {
		$('.pagesblock').slideToggle();
	})

	/*$('#RegisterDob').live('click', function() {
		$(this).datepicker({
			monthNamesShort: ['янв','фев','мар','апр','май','июн','июл','авг','сен','окт','ноя','дек'],
			monthNames: ['январь','февраль','март','апрель','май','июнь','июль','август','сентябрь','октябрь','ноябрь','декабрь'],
			dateFormat: 'dd.mm.yy',
			dayNames: ['воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота'],
			dayNamesMin: ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'],
			dayNamesShort: ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'],
			firstDay: 1,
			nextText: 'позже',
			prevText: 'ранее',
			changeMonth: true,
			changeYear: true
		}).focus();
	});

	$('#wlpeUserProfileDob').live('click', function() {
		$(this).datepicker({
			monthNamesShort: ['янв','фев','мар','апр','май','июн','июл','авг','сен','окт','ноя','дек'],
			monthNames: ['январь','февраль','март','апрель','май','июнь','июль','август','сентябрь','октябрь','ноябрь','декабрь'],
			dateFormat: 'dd.mm.yy',
			dayNames: ['воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота'],
			dayNamesMin: ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'],
			dayNamesShort: ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'],
			firstDay: 1,
			nextText: 'позже',
			prevText: 'ранее',
			changeMonth: true,
			changeYear: true
		}).focus();
	});*/
});

function in_array (needle, haystack, argStrict) {
	var key = '',
		strict = !! argStrict;
 
	if (strict) {
		for (key in haystack) {
			if (haystack[key] === needle) {
				return true;
			}
		}
	} else {
		for (key in haystack) {
			if (haystack[key] == needle) {
				return true;
			}
		}
	}

	return false;
}

setTimeout(function() {
	// Sbr.init();

}, 50);

function setSuggestBlock() {
	var iSearchFormLeft = Number($('#inputString').offset().left)+25;
	$('#suggestions').css('left', iSearchFormLeft+'px');
};


function strtolower(str) {
	return (str + '').toLowerCase();
}


function lookup(inputString) {
	var inputString = inputString;
	var inputRadio = $('input[name=srcr]:checked').val();
	if (inputString.length == 0 || inputRadio == undefined || inputRadio == 4) {
			$('#suggestions').hide();
	} else {
		$.post('/assets/snippets/search/suggest.php', {inputString: inputString, inputRadio: inputRadio}, function(data){
			if (data.length > 0) {
				$('#suggestions').show();
				$('#autoSuggestionsList').html(data);
			}
		});
	}
}

function fill(thisValue) {
	$('#inputString').val(thisValue);
	setTimeout(function() {
		$('#suggestions').hide();
		if (thisValue.length > 0) {
			makeSearch();
		}
	}, 200);
}

/*function addToCart(obj_id, sid, type, size, price, name) {
	//window.location.hash="buy";
	//alert(size);
	if((type!='file') && (size!=0)){
		$.ajax({
			   type: "GET",
			   url: "http://projektor.com.ua/schetchik_zakazov/?id_count="+obj_id,
			   global:false,
			   async: false
			 });
		var obj_id = obj_id;
		var sid = sid;
		if ($('#pack'+obj_id).length > 0 ) {
			var pack_id = $('#pack'+obj_id).val();
		} else {
			var pack_id = 0;
		}
	   // alert("XXX");
		xxx = $.ajax({
			  url: "http://projektor.com.ua/assets/snippets/cart/ajax_add2cart.php",
			  async: false,
			  global: false,
			  type: "POST",
			  data:{obj_id: obj_id, sid: sid, pack_id: pack_id},
			  success: function(data){
				    //alert(data);
				    $('#cart-amount').html(Number($('#cart-amount').html())+1);
					$('#cart-money').html(round(Number($('#cart-money').html())+Number(data), 2));
			
					var cnt = $('#cartCnt').html();
					if (!cnt) {
						var htmlData = '<a href="/cart/" style="display:block; width:50px; height:30px; float:left;">&nbsp;</a><a href="/cart/">В корзине</a> <span id="cartCnt">1</span> товар<span id="cartSuffix"></span><br />на сумму <span id="cartSum">'+data+'</span> грн<br />';
						$('#cartBlock').html(htmlData);
					} else {
						$('#cartCnt').html(Number($('#cartCnt').html())+1);
						$('#cartSum').html(round(Number($('#cartSum').html())+Number(data), 2));
						$('#cartSuffix').html(getSuffix($('#cartCnt').html()));
					}
					runEffect('transfer', obj_id);
			  },
			  error:function(data){
				 // alert(data);
			  }
			});
		//alert(xxx);
		/*$.post("http://projektor.com.ua/assets/snippets/cart/ajax_add2cart.php", { obj_id: obj_id, sid: sid, pack_id: pack_id }, function(data){
			//alert("XXX");
			$('#cart-amount').html(Number($('#cart-amount').html())+1);
			$('#cart-money').html(round(Number($('#cart-money').html())+Number(data), 2));
	
			var cnt = $('#cartCnt').html();
			if (!cnt) {
				var htmlData = '<a href="/cart/" style="display:block; width:50px; height:30px; float:left;">&nbsp;</a><a href="/cart/">В корзине</a> <span id="cartCnt">1</span> товар<span id="cartSuffix"></span><br />на сумму <span id="cartSum">'+data+'</span> грн<br />';
				$('#cartBlock').html(htmlData);
			} else {
				$('#cartCnt').html(Number($('#cartCnt').html())+1);
				$('#cartSum').html(round(Number($('#cartSum').html())+Number(data), 2));
				$('#cartSuffix').html(getSuffix($('#cartCnt').html()));
			}
			runEffect('transfer', obj_id);
		});*/
/*		showResponse('Выбранный товар был добавлен в корзину');
	}else{
		//alert("YYY");
		$.ajax({
			   type: "GET",
			   url: "http://projektor.com.ua/schetchik_zakazov_fayli/?id_count="+obj_id,
			   
			   async: false
			 });
		$.post("http://projektor.com.ua/assets/snippets/cartfile/ajax_add2cart.php", { obj_id: obj_id, sid: sid, size: size, price: price, name: name }, function(data){
			$('#cart-amount').html(Number($('#cart-amount').html())+1);
			$('#cart-money').html(round(Number($('#cart-money').html())+Number(price), 2));
	
			var cnt = $('#cartCnt').html();
			if (!cnt) {
				var htmlData = '<a href="/cart/" style="display:block; width:50px; height:30px; float:left;">&nbsp;</a><a href="/cart/">В корзине</a> <span id="cartCnt">1</span> товар<span id="cartSuffix"></span><br />на сумму <span id="cartSum">'+data+'</span> грн<br />';
				$('#cartBlock').html(htmlData);
			} else {
				$('#cartCnt').html(Number($('#cartCnt').html())+1);
				$('#cartSum').html(round(Number($('#cartSum').html())+Number(price), 2));
				$('#cartSuffix').html(getSuffix($('#cartCnt').html()));
			}
			runEffect('transfer', obj_id);
		});
		showResponse('Выбранный товар был добавлен в корзину');
	}
}*/



function delFromCart(iter, sid, type){
	
	
	if(type!='file'){
	var iter = iter;
	var sid = sid;
	var iRowsCnt = 0;
	var iNextId, sButtonHtml;

	$.post("/assets/snippets/cart/ajax_delfromcart.php", { iter: iter, sid: sid }, function(data) {
		var fAllSum = Number($('#cartMainSum').html());
		var aCallbackParam = new Array();
		aCallbackParam = data.split('|');
		var iCnt = Number(aCallbackParam[3]);

		if (iCnt == 0) {
			var sHtmlData1 = '<span class="cartEmpty">В корзине пока пусто</span>';
			//$('#cartBlock').html(sHtmlData1);
			var sHmlData2 = '<br/><br/><h2 class="s">В корзине пока пусто</h2><br/><br/>';
			$('#cartData').html(sHmlData2);
			$('#cartMainCnt2').html(iCnt);
		} else {
			$('#cartData > table > tbody > tr').each(function(quan) {
				iRowsCnt++;
			})

			for (i=iter; i<=iRowsCnt; i++) {
				iNextId = Number(i)+1;
				sButtonHtml = '<a href="javascript:void(0);" onclick="delFromCart('+i+', \''+sid+'\');"><img src="/assets/templates/projektor/images/icodel.png" alt="Удалить" /></a>';

				$('#cartItem'+iNextId).attr('id', 'cartItem'+i);
				$('#cartDel'+iNextId).html(sButtonHtml).attr('id', 'cartDel'+i);
			}
			
			$('#cartCnt').html(iCnt);
			$('#cartSum').html(aCallbackParam[0]);
			$('#cartSuffix').html(aCallbackParam[4]);
			

			$('#cartMainCnt').html(iCnt);
			$('#cartMainCnt2').html(iCnt);
			$('#cartMainSum').html(aCallbackParam[0]);
			$('#cartMainSuffix').html(aCallbackParam[4]);
			$('#cartMainSum2').html(aCallbackParam[0]);
			$('#cartMainDiscount').html(aCallbackParam[1]);
			$('#cartMainTotal').html(aCallbackParam[2]);

			$('#cartItem'+iter).animate( {opacity: 0.0}, 600, function() {
    			$('#cartItem'+iter).remove();
			});
		}
	});
	showResponse('Выбранный товар был удалён из корзины');
	}else{
		
		var iter = iter;
		var sid = sid;
		var iRowsCnt = 0;
		var iNextId, sButtonHtml;

		$.post("/assets/snippets/cartfile/ajax_delfromcart.php", { iter: iter, sid: sid }, function(data) {
			var fAllSum = Number($('#cartMainSumFile').html());
			var aCallbackParam = new Array();
			aCallbackParam = data.split('|');
			var iCnt = Number(aCallbackParam[3]);

			if (iCnt == 0) {
				var sHtmlData1 = '<span class="cartEmpty">В корзине скачивания пока пусто</span>';
				//$('#cartBlockFile').html(sHtmlData1);
				var sHmlData2 = '<br/><br/><h2 class="s">В корзине скачивания пока пусто</h2><br/><br/>';
				$('#cartDataFile').html(sHmlData2);
				$('#cartMainCntFile2').html(iCnt);
			} else {
				$('#cartDataFile > table > tbody > tr').each(function(quan) {
					iRowsCnt++;
				})

				for (i=iter; i<=iRowsCnt; i++) {
					iNextId = Number(i)+1;
					sButtonHtml = '<a href="javascript:void(0);" onclick="delFromCart('+i+', \''+sid+'\',\'file\');"><img src="/assets/templates/projektor/images/icodel.png" alt="Удалить" /></a>';

					$('#cartItemFile'+iNextId).attr('id', 'cartItemFile'+i);
					$('#cartDelFile'+iNextId).html(sButtonHtml).attr('id', 'cartDelFile'+i);
				}
				$('#cartCnt').html(iCnt);
				$('#cartSum').html(aCallbackParam[0]);
				$('#cartSuffix').html(aCallbackParam[4]);
				

				$('#cartMainCntFile').html(iCnt);
				$('#cartMainCntFile2').html(iCnt);
				$('#cartMainSumFile').html(aCallbackParam[0]);
				$('#cartMainSuffixFile').html(aCallbackParam[4]);
				$('#cartMainSum2File').html(aCallbackParam[0]);
				$('#cartMainDiscount').html(aCallbackParam[1]);
				$('#cartMainTotalFile').html(aCallbackParam[2]);

				$('#cartItemFile'+iter).animate( {opacity: 0.0}, 600, function() {
	    			$('#cartItemFile'+iter).remove();
				});
			}
		});
		showResponse('Выбранный товар был удалён из корзины');
	}
	
	$.post("/assets/snippets/cartfile/ajax_recart.php", {  sid: sid }, function(data) {
		var fAllSum = Number($('#cartMainSumFile').html());
		var aCallbackParam = new Array();
		aCallbackParam = data.split('|');
		var iCnt = Number(aCallbackParam[3]);
		
		if (iCnt == 0) {
			var sHtmlData1 = '<span class="cartEmpty">В корзине  пока пусто</span>';
			$('#cartBlock').html(sHtmlData1);
			var sHmlData2 = '<br/><br/><h2 class="s">В корзине  пока пусто</h2><br/><br/>';
			$('#cartData').html(sHmlData2);
		} else {
			$('#cartCnt').html(iCnt);
			$('#cartSum').html(aCallbackParam[0]);
			$('#cartSuffix').html(aCallbackParam[4]);
		}
	});
	

	
}

function revertCart(){
	$.post("/assets/snippets/cartfile/ajax_recart.php", {  sid: sid }, function(data) {
		var fAllSum = Number($('#cartMainSumFile').html());
		var aCallbackParam = new Array();
		aCallbackParam = data.split('|');
		var iCnt = Number(aCallbackParam[3]);
		
		if (iCnt == 0) {
			var sHtmlData1 = '<span class="cartEmpty">В корзине  пока пусто</span>';
			$('#cartBlock').html(sHtmlData1);
			var sHmlData2 = '<br/><br/><h2 class="s">В корзине  пока пусто</h2><br/><br/>';
			$('#cartData').html(sHmlData2);
		} else {
			$('#cartCnt').html(iCnt);
			$('#cartSum').html(aCallbackParam[0]);
			$('#cartSuffix').html(aCallbackParam[4]);
		}
	});
}

function showResponse(msg) {
	var msg = msg;

	$.jGrowl(msg, {
			theme: 'manilla',
			header: 'Статусное сообщение',
			sticky: false,
			speed: 'slow',
			life: 5000
	});
}

/*function getSuffix(cnt) {
	var iCnt = cnt;
	var iLastDigit = iCnt.substr(-1);
	if (iCnt > 10) {
		var iTwoLastDigits = iCnt.substr(-2);
	}

	if (iTwoLastDigits >= 10 && iTwoLastDigits <= 20) {
		return 'ов';
	} else if (iLastDigit == 1) {
		return '';
	} else if(iLastDigit >= 2 && iLastDigit <= 4) {
		return 'а';
	} else {
		return 'ов';
	}
}*/

function changePrice(iId) {
	var iId = iId;
	var Img = $('#pack'+iId+' > option:selected').attr('img');
	if ( $('#graf'+iId).val() == '0' )
	{
		var fPrice = $('#pack'+iId+' > option:selected').attr('title');
		Img = '/assets/templates/projektor/images/' + Img + '.jpg';
	}
	else
	{
		var fPrice = $('#pack'+iId+' > option:selected').attr('title2');
		Img = '/assets/templates/projektor/images/' + Img + 'p.jpg';
	}
	$('#case').attr('src', Img);
	var aPrice = new Array();
	aPrice = parsePrice(fPrice);
	$('#price'+iId+' > b').html(aPrice[0]);
	$('#price'+iId+' > i').html(aPrice[1]);
}

function parsePrice(fPrice) {
	var fPrice = fPrice == '' ? '0.00' : fPrice;
	var aPrice = new Array();

	aPrice = explode('.', fPrice);
	if (!aPrice[1]) {
		aPrice[1] = '00';
	} else if (aPrice[1].length == 1) {
		aPrice[1] = aPrice[1]+'0';
	}

	return aPrice;
}

/*function runEffect(effect, from) {
	var effect = effect;
	var from = from;
	options = { to: "#cartBlock", className: 'ui-effects-transfer' };
	$('#filmPoster'+from).effect(effect, options, 600);
};*/

function submitFeedback(type) {
	var type = type;
	var name = $('#feedbackName').val();
	var contact = $('#feedbackAddress').val();
	var message = $('#feedbackMessage').val();
	var sid = $('#feedbackSid').val();
	var captcha = $('#feedbackCaptcha').val();

	$.post("/assets/snippets/forms/ajax_feedback.php", { name: name, contact: contact, message: message, sid: sid, type: type, captcha: captcha }, function(data) {
		$('#feedbackForm').html(data);
	});
}

function submitFeedback2(type) {
	var type = type;
	var name = $('#feedbackName2').val();
	var contact = $('#feedbackAddress2').val();
	var message = $('#feedbackMessage2').val();
	var sid = $('#feedbackSid2').val();

	$.post("/assets/snippets/forms/ajax_feedback.php", { name: name, contact: contact, message: message, sid: sid, type: type }, function(data) {
		$('#feedbackForm2').html(data);
	});
}

function submitFeedback3(type) {
	
	var type = type;
	var name = $('#feedbackName').val();
	var contact = $('#feedbackAddress').val();
	var phone = $('#feedbackPhone').val();
	var message = $('#feedbackMessage').val();
	
	var sid = $('#feedbackSid').val();

	$.post("/assets/snippets/forms/ajax_feedbackFile.php", { name: name, contact: contact, phone: phone, message: message, sid: sid, type: type }, function(data) {
		//alert(data);
		$('#feedbackForm').html(data);
		//alert($('#responseFeedback').html());
		if($('#responseFeedback').html()=='[+feedback.response+]'){
			$('#feedbackForm').toggle();
			window.location.reload();
		}
	});
}

function makeSearch() {
	var sQuery = $('#inputString').val();
	var iSearchType = $('input[name=srcr]:checked').val();

	if (sQuery == '' || sQuery == undefined) {
		// jAlert('Вы должны ввести поисковый запрос', 'Поиск сообщает:');
		openDialog('Вы должны ввести поисковый запрос', 'dialogMsg', 'dialog');
		return false;
	} else if (sQuery.length < 3) {
		openDialog('Поисковый запрос должен состоять не менее чем из трёх символов', 'dialogMsg', 'dialog');
		return false;
	} else if (!iSearchType) {
		openDialog('Вы должны выбрать направление поиска', 'dialogMsg', 'dialog');
		return false;
	} else if (iSearchType == 4 && !sQuery.match(/^[0-9]{4}$/)) {
		openDialog('Год должен состоять из четырёх цифр', 'dialogMsg', 'dialog');
		return false;
	} else {
		location.href = '/search/?type='+iSearchType+'&query='+urlencode(sQuery);
	}
}

function checkSignUp(sFormId) {
	var sFormId = sFormId;
	var sEmptyFields = '';
	if ($('#RegisterUserName').val() == 'Имя пользователя') {sEmptyFields += '<li>Имя пользователя</li>';}
	if ($('#RegisterPassword').val() == 'Пароль') {sEmptyFields += '<li>Пароль</li>';}
	if ($('#RegisterFullName').val() == 'Ф.И.О.') {sEmptyFields += '<li>Ф.И.О.</li>';}
	if ($('#RegisterEmail').val() == 'E-mail') {sEmptyFields += '<li>E-mail</li>';}
	if ($('#RegisterPhone').val() == 'Телефон') {sEmptyFields += '<li>Телефон</li>';}
	if ($('#RegisterCountry2').val() == 'Страна') {sEmptyFields += '<li>Страна</li>';}
	// if ($('#RegisterZip').val() == 'Почтовый индекс') {sEmptyFields += '<li>Почтовый индекс</li>';}
	if ($('#RegisterState').val() == 'Область') {sEmptyFields += '<li>Область</li>';}
	if ($('#RegisterCity').val() == 'Город') {sEmptyFields += '<li>Город</li>';}
	if ($('#RegisterUaddress').val() == 'Адрес') {sEmptyFields += '<li>Адрес</li>';}
	if ($('#RegisterCaptcha').val() == 'Код с картинки') {sEmptyFields += '<li>Код с картинки</li>';}

	if (sEmptyFields != '') {
		openDialog('Вам нужно заполнить следующие поля:<ul class="dialog-empty-fields">'+sEmptyFields+'</ul>', 'registerErrorMsg', 'registerError');
		return;
	} else {
		document.getElementById(sFormId).submit();
		return false;
	}
}

function saveOrder(sFormId) {
	var sEmptyFields = '';
	var shiptype = $('#orderFormShiptype').val();
	var ukraine_checked = $("input[name='country2-radio']:checked").val() == 1 ? true : false;
	
	if ($('#orderFormFullName').val() == 'Ф.И.О.') {sEmptyFields += '<li>Ф.И.О.</li>';}
	if ($('#orderFormEmail').val() == 'E-mail') {sEmptyFields += '<li>E-mail</li>';}
	if ($('#orderFormPhone').val() == 'Телефон') {sEmptyFields += '<li>Телефон</li>';}

	
	if (!ukraine_checked && $('#orderFormCountry2').val() == 'Страна') {sEmptyFields += '<li>Страна</li>';}
	if (shiptype == 1 && $('#orderFormZip').val() == 'Почтовый индекс') {sEmptyFields += '<li>Почтовый индекс</li>';}
	if (ukraine_checked) {
		if ($('#orderFormState2').val() == 0) {sEmptyFields += '<li>Область</li>';}
	} else {
		if ($('#orderFormState').val() == 'Область') {sEmptyFields += '<li>Область</li>';}
	}

	if ($('#orderFormCity').val() == 'Город') {sEmptyFields += '<li>Город</li>';}
	if ($('#orderFormUaddress').val() == 'Адрес') {sEmptyFields += '<li>Адрес</li>';}

	if (sEmptyFields != '') {
		openDialog('Вам нужно заполнить следующие поля:<ul class="dialog-empty-fields">'+sEmptyFields+'</ul>', 'orderErrorMsg', 'orderError');
		return;
	} else {
		document.getElementById(sFormId).submit();
		return false;
	}
}

function checkProfile(sFormId) {
	var sFormId = sFormId;
	var sEmptyFields = '';
	if ($('#wlpeUserProfileFullName').val() == 'Ф.И.О.') {sEmptyFields += '<li>Ф.И.О.</li>';}
	if ($('#wlpeUserProfileEmail').val() == 'E-mail') {sEmptyFields += '<li>E-mail</li>';}
	if ($('#wlpeUserProfilePhone').val() == 'Телефон') {sEmptyFields += '<li>Телефон</li>';}
	if ($('#wlpeUserProfileCountry2').val() == 'Страна') {sEmptyFields += '<li>Страна</li>';}
	// if ($('#wlpeUserProfileZip').val() == 'Почтовый индекс') {sEmptyFields += '<li>Почтовый индекс</li>';}
	if ($('#wlpeUserProfileState').val() == 'Область') {sEmptyFields += '<li>Область</li>';}
	if ($('#wlpeUserProfileCity').val() == 'Город') {sEmptyFields += '<li>Город</li>';}
	if ($('#wlpeUserProfileUaddress').val() == 'Адрес') {sEmptyFields += '<li>Адрес</li>';}

	if (sEmptyFields != '') {
		openDialog('Вам нужно заполнить следующие поля:<ul class="dialog-empty-fields">'+sEmptyFields+'</ul>', 'profileErrorMsg', 'profileError');
		return;
	} else {
		document.getElementById(sFormId).submit();
		return false;
	}
}

function makeLogin(sFormId) {
	var sFormId = sFormId;
	var sEmptyFields = '';
	if ($('#wlpeUsernameLabel').val() == 'имя пользователя') {sEmptyFields += '<li>имя пользователя</li>';}
	if ($('#wlpePasswordLabel').val() == 'пароль') {sEmptyFields += '<li>пароль</li>';}

	if (sEmptyFields != '') {
		openDialog('Вам нужно заполнить следующие поля:<ul class="dialog-empty-fields">'+sEmptyFields+'</ul>', 'loginErrorMsg', 'loginError');
		return;
	} else {
		document.getElementById(sFormId).submit();
		return false;
	}
}

function makeLogin2(sFormId) {
	var sFormId = sFormId;
	var sEmptyFields = '';
	if ($('#wlpeUsernameLabel2').val() == 'имя пользователя') {sEmptyFields += '<li>имя пользователя</li>';}
	if ($('#wlpePasswordLabel2').val() == 'пароль') {sEmptyFields += '<li>пароль</li>';}

	if (sEmptyFields != '') {
		openDialog('Вам нужно заполнить следующие поля:<ul class="dialog-empty-fields">'+sEmptyFields+'</ul>', 'login2ErrorMsg', 'login2Error');
		return;
	} else {
		document.getElementById(sFormId).submit();
		return false;
	}
}

function makeLogout(sFormId) {
	var sFormId = sFormId;
	document.getElementById(sFormId).submit();
	return false;
}

function resetPassword(sFormId) {
	var sEmptyFields = '';
	if ($('#passwordResetEmail').val() == 'E-mail') {sEmptyFields += '<li>E-mail</li>';}

	if (sEmptyFields != '') {
		openDialog('Вам нужно заполнить следующие поля:<ul class="dialog-empty-fields">'+sEmptyFields+'</ul>', 'passwordErrorMsg', 'passwordError');
		return;
	} else {
		document.getElementById(sFormId).submit();
		return false;
	}
}

function openDialog(sMessage, sBlock1, sBlock2) {
	var sMessage = sMessage;
	var sBlock1 = sBlock1;
	var sBlock2 = sBlock2;
	$('#'+sBlock1).html(sMessage);
	$('#'+sBlock2).dialog({
		bgiframe: true,
		modal: true,
		buttons: {
			Хорошо: function() {
				$(this).dialog('destroy');
			}
		},
		beforeclose: function() {$(this).dialog('destroy');}
	});
}

function subscribeAttempt() {
	var sEmail = $('#subscribeEmail').val();
	if (sEmail == 'e-mail') {
		$('#subscribeMsg').html('<p class="achtung2">Вы указали неверный e-mail</p>');
	} else {
		$.post("/assets/snippets/subscribe/ajax_subscribe.php", { sEmail: sEmail }, function(data) {
			$('#subscribeMsg').html(data);
		});
	}
}

function changeDob() {
	var dob = $('#wlpeUserProfileDob').val();

	var aDobElem = new Array();
	aDobElem = explode('-', dob);

	if (count(aDobElem, 'NO_RECURSIVE') == 3) {
		return aDobElem[1]+'.'+aDobElem[0]+'.'+aDobElem[2];
	} else {
		return '';
	}
}

function intval(mixed_var, base) {
	var tmp;

	if( typeof( mixed_var ) == 'string' ) {
		tmp = parseInt(mixed_var*1);
		if(isNaN(tmp) || !isFinite(tmp)) {
			return 0;
		} else {
			return tmp.toString(base || 10);
		}
	} else if( typeof( mixed_var ) == 'number' && isFinite(mixed_var)) {
		return (mixed_var == '0' ? 1 : Math.floor(mixed_var));
	} else {
		return 0;
	}
}

function str_replace(search, replace, subject) {
	return subject.split(search).join(replace);
}

function substrCount(string, substring, start, length) {
	var c = 0;
	if (start) {string = string.substr(start);}
	if (length) {string = string.substr(0,length);}
	for (var i=0; i<string.length; i++) {
		if (substring == string.substr(i, substring.length))
		c++;
	}
	return c;
}

function round(val, precision) {
	return parseFloat(parseFloat(val).toFixed(precision));
}

function implode( glue, pieces ) {
	return ( ( pieces instanceof Array ) ? pieces.join( glue ) : pieces );
}

function trim(str) {
	var	str = str.replace(/^\s\s*/, ''),
		ws = /\s/,
		i = str.length;
	while (ws.test(str.charAt(--i)));
	return str.slice(0, i + 1);
}

function var_dump(obj) {
	if(typeof obj == "object") {
		return "Type: "+typeof(obj)+((obj.constructor) ? "\nConstructor: "+obj.constructor : "")+"\nValue: " + obj;
	} else {
		return "Type: "+typeof(obj)+"\nValue: "+obj;
	}
}

function count(mixed_var, mod) {
	var key, cnt = 0;
	var mode = 1;

	if (mod == 'NO_RECURSIVE') {
		mode = 0;
	}

	for (key in mixed_var){
		cnt++;
		if(mode && mixed_var[key] && (mixed_var[key].constructor === Array || mixed_var[key].constructor === Object)) {
			cnt += count(mixed_var[key], 1) - 1;
		}
	}

    return cnt;
}

function strlen(string) {
	var str = string+'';
	var i = 0, chr = '', lgth = 0;

	var getWholeChar = function (str, i) {
		var code = str.charCodeAt(i);
		var next = '', prev = '';
		if (0xD800 <= code && code <= 0xDBFF) {
			if (str.length <= (i+1))  {
				throw 'High surrogate without following low surrogate';
			}
			next = str.charCodeAt(i+1);
			if (0xDC00 > next || next > 0xDFFF) {
				throw 'High surrogate without following low surrogate';
			}
			return str.charAt(i)+str.charAt(i+1);
		} else if (0xDC00 <= code && code <= 0xDFFF) {
			if (i === 0) {
				throw 'Low surrogate without preceding high surrogate';
			}
			prev = str.charCodeAt(i-1);
			if (0xD800 > prev || prev > 0xDBFF) {
				throw 'Low surrogate without preceding high surrogate';
			}
			return false;
		}
		return str.charAt(i);
	};

	for (i=0, lgth=0; i < str.length; i++) {
		if ((chr = getWholeChar(str, i)) === false) {
			continue;
		}
		lgth++;
	}
	return lgth;
}

function urlencode(str) {
	var ret = str;

	ret = ret.toString();
	ret = encodeURIComponent(ret);
	ret = ret.replace(/%20/g, '+');

	return ret;
}

function explode( delimiter, string ) {    // Split a string by string
	//
	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +   improved by: kenneth
	// +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)

	var emptyArray = { 0: '' };

	if ( arguments.length != 2
		|| typeof arguments[0] == 'undefined'
		|| typeof arguments[1] == 'undefined' )
	{
		return null;
	}

	if ( delimiter === ''
		|| delimiter === false
		|| delimiter === null )
	{
		return false;
	}

	if ( typeof delimiter == 'function'
		|| typeof delimiter == 'object'
		|| typeof string == 'function'
		|| typeof string == 'object' )
	{
		return emptyArray;
	}

	if ( delimiter === true ) {
		delimiter = '1';
	}

	return string.toString().split ( delimiter.toString() );
}

function mktime() {
	// http://kevin.vanzonneveld.net
	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +   improved by: baris ozdil
	// +      input by: gabriel paderni
	// +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +   improved by: FGFEmperor
	// +      input by: Yannoo
	// +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +      input by: jakes
	// +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +   bugfixed by: Marc Palau
	// +   improved by: Brett Zamir (http://brett-zamir.me)
	// *     example 1: mktime(14, 10, 2, 2, 1, 2008);
	// *     returns 1: 1201871402
	// *     example 2: mktime(0, 0, 0, 0, 1, 2008);
	// *     returns 2: 1196463600
	// *     example 3: make = mktime();
	// *     example 3: td = new Date();
	// *     example 3: real = Math.floor(td.getTime()/1000);
	// *     example 3: diff = (real - make);
	// *     results 3: diff < 5
	// *     example 4: mktime(0, 0, 0, 13, 1, 1997)
	// *     returns 4: 883609200
	// *     example 5: mktime(0, 0, 0, 1, 1, 1998)
	// *     returns 5: 883609200
	// *     example 6: mktime(0, 0, 0, 1, 1, 98)
	// *     returns 6: 883609200

	var no=0, i = 0, ma=0, mb=0, d = new Date(), dn = new Date(), argv = arguments, argc = argv.length;

	var dateManip = {
		0: function(tt){ return d.setHours(tt); },
		1: function(tt){ return d.setMinutes(tt); },
		2: function(tt){ var set = d.setSeconds(tt); mb = d.getDate() - dn.getDate(); return set;},
		3: function(tt){ var set = d.setMonth(parseInt(tt, 10)-1); ma = d.getFullYear() - dn.getFullYear(); return set;},
		4: function(tt){ return d.setDate(tt+mb);},
		5: function(tt){
			if (tt >= 0 && tt <= 69) {
				tt += 2000;
			} else if (tt >= 70 && tt <= 100) {
				tt += 1900;
			}
			return d.setFullYear(tt+ma);
		}
		// 7th argument (for DST) is deprecated
	};

	for( i = 0; i < argc; i++ ){
		no = parseInt(argv[i]*1, 10);
		if (isNaN(no)) {
			return false;
		} else {
			// arg is number, let's manipulate date object
			if(!dateManip[i](no)){
				// failed
				return false;
			}
		}
	}
	for (i = argc; i < 6; i++) {
		switch(i) {
			case 0:
				no = dn.getHours();
				break;
			case 1:
				no = dn.getMinutes();
				break;
			case 2:
				no = dn.getSeconds();
				break;
			case 3:
				no = dn.getMonth()+1;
				break;
			case 4:
				no = dn.getDate();
				break;
			case 5:
				no = dn.getFullYear();
			break;
		}
		dateManip[i](no);
	}

	return Math.floor(d.getTime()/1000);
}

