var sumdost = 0, appName = '', thishref = '', selgood = '', isrefresh;
$(window).scroll(function() {
	divposition($(this).scrollTop());
});

function divposition(vtop) {
	var hgt = $('#myElement').height() + 10;
    $('#myElement').css('top', vtop + "px");
    $('#info').css('top', hgt + vtop + "px");

	//$('.search').css('top', vtop + 80 + "px");
    //document.body.scrollTop
    //$(this).scrollTop() - почему-то не работает
}

function trim(str) {
	var value = str || '';
	while(value.charAt(0)==' ') {
		value = value.substr(1);
	}
	while(value.charAt(value.length - 1)==' ') {
		value = value.substr(0,value.length - 1);
	}
	return value;
}

function submenable() {
	var Enable = true;
	var objgroup = $('.CHANGECOL');

	var i = 0;
	while(objgroup.get(i) || null != null) {
		var obj = objgroup.get(i);
		var id = (obj.id).substr(2);
		obj = $('#GU' + id); // Переопределяем объект, иначе не работает
		obj.css('background-color', '#FFFFFF');
		if(trim(obj.val())==='') {
			Enable = false;
			obj.css('background-color', '#CC0033');
		}
		i++;
	}

	if($('#phone').val()!='' && Enable)
		$('#submbtn').removeAttr('disabled');
	else
		$('#submbtn').attr('disabled', 'disabled');
}

var timer;
$(document).ready(function() {
	isrefresh = 0;
/// Onload functions
	$('.Gallery a').lightBox();
	$('.Thumb a').lightBox();
	$("label.overlabel").overlabel();

	appName = (new String(navigator.appName)).toLowerCase();
	thishref = new String(window.location.href);
	if(thishref.indexOf('basket')!=-1)
		timer = setInterval('submenable();', 100);
	else
		clearInterval(timer);
//	if(appName.indexOf('netscape')!=-1 || appName.indexOf('opera')!=-1 || appName.indexOf('microsoft internet explorer')!=-1)
//		doyoumustrefresh(thishref);
	$('#submbtn').click(function() {
		clearInterval(timer);
		predcalc();
		calcaddtoitog();
		$('#FormBasket').hide();
		$('#SendMess').show();
		$('#formFormBasket').submit();
	});
	$('.delimage').click(function() {
		var id = ($(this).attr('Id')).substr(2);
		var tr = $('#STR' + id);
		$('#tooltip').hide();
		tr.remove();
		if($('.delimage').length==0) {
			$('#formFormBasket').html('Ничего не выбрано');
			$('#tooltip').hide();
		}
		predcalc(id);
		calcaddtoitog();
	}).tooltip({
		track: true,
		showURL: false,
		delay: 100,
		showBody: false,//"::",
		opacity: 0.85
	});
	$('.upimage').click(function() {
		var id = ($(this).attr('id')).substr(2);
		regular_expression('GU' + id);
		var kol = $('#GU' + id).val();
/*		if(trim(kol)==='')
			$('#GU' + id).val(0);*/
		$('#GU' + id).val( Math.round($('#GU' + id).val()) + 1 );
		regular_expression('GU' + id);
		predcalc();
		calcaddtoitog();
	}).tooltip({
		track: true,
		showURL: false,
		delay: 100,
		showBody: false,//"::",
		opacity: 0.85
	});
	$('.downimage').click(function() {
		var id = ($(this).attr('id')).substr(2);
		regular_expression('GU' + id);
		var kol = trim($('#GU' + id).val());
		if(kol==='') {
			$('#GU' + id).val(2);
			kol = 2;
		}else
			kol = Math.round(trim($('#GU' + id).val()));
		if(kol>1) {
			$('#GU' + id).val( Math.round($('#GU' + id).val()) - 1 );
			regular_expression('GU' + id);
			predcalc();
			calcaddtoitog();
		}
	}).tooltip({
		track: true,
		showURL: false,
		delay: 100,
		showBody: false,//"::",
		opacity: 0.85
	});
	$('.BasketButton').click(function() {
		var id = ($(this).attr('Id')).substr(2);
		var nazv = $('#GT' + id).html();
		var art = $('#GA' + id).html();
		var price = backfrommoney($('#GP' + id).html());
		var col = $('#GN' + id).html();
		var adddel = '';
		if($(this).attr('class')=='BasketButton Add')
			adddel = 'add';
		else
			adddel = 'del';

		torecycled(id, art, nazv, price, col, adddel)
	});
	$('.number').keydown(function() {
		var id = $(this).attr('id');
		regular_expression(id);
	}).keyup(function() {
		var id = $(this).attr('id');
		regular_expression(id);
	});
	$('#opendop').click(function() {
		if($('#opendop').attr('class')!='cont opencont') {
			$('#opendop').attr('class', 'cont opencont');
			$('#opendop').html('Заполнить контактную информацию');
			$('#dop').hide();
		}else {
			$('#opendop').attr('class', 'cont closecont');
			$('#opendop').html('Скрыть контактную информацию');
			$('#dop').show();
		}
	});
	$('.CHANGECOL').bind("keyup", function() {
		predcalc();
		calcaddtoitog();
		/*
		var id = ($(this).attr('id')).substr(2);
		var cost = backfrommoney($('#GP' + id).html());
		regular_expression('GU' + id);
		var kol = $(this).val();
		if(trim(kol)=='') {
			$(this).val(1);
			kol = 1;
		}
		var summcost = kol*cost;
		$('#SM' + id).html(moneyformat(summcost));
		var objgroup = $('.summ');
		var i=0;
		var itog = 0;
		while(objgroup.get(i) || null != null) {
			var cur = objgroup.get(i);
			var ident = (cur.id).substr(2);
			cur = $('#SM' + ident);// Переопределяем объект, иначе не работает
			var n = new Number( backfrommoney(cur.html()) );// innerHTML
			itog += n;
			i++;
		}
		$('#itog').html(moneyformat(itog));
		calcaddtoitog();
		*/
	});
	$('#myElement').mouseover(function() {
		if(thishref.indexOf('basket')==-1)
			info_show(1);
	}).mouseout(function() {
		info_show(0);
	});
	$('#dost').change(function() {
		/*$('select[@name=oplata] option').remove();
		if($(this).val()=='Самовывоз') {
			$('select[@name=oplata]').append('<option value="Безналичный">Безналичный</option>');
			$('select[@name=oplata]').append('<option value="Наличными">Наличными</option>');
		}
		if($(this).val()=='Курьер (Пермь)') {
			$('select[@name=oplata]').append('<option value="Безналичный">Безналичный</option>');
			$('select[@name=oplata]').append('<option value="Наличными курьеру">Наличными курьеру</option>');
		}*/
		$('#oplata').html("");
		if($("#dost").val()=='Почта России') {

			$('#oplata').append('<option value="Безналичный">Безналичный</option>');
			$('#oplata').append('<option value="Наложеный платеж">Наложеный платеж</option>');
		}
		else
		{
			$('#oplata').append('<option value="Безналичный">Безналичный</option>');
			$('#oplata').append('<option value="Наличными">Наличными</option>');
		}
		//$('select[@name=oplata] option:first').attr('selected', 'yes');
		calcaddtoitog();
	});
	$('#oplata').change(function()
	{
		calcaddtoitog();
	});
	getUrl(thishref);
});

	//	$('select[@name=mySelect] option').remove();// Удалить все элементы списка
	//	$('select[@name=mySelect]').append('<option>Новый элемент списка</option>');// Добавить в список новый элемент
	//	$('select[@name=loadFileName] option:first').attr('selected', 'yes');// Сделать выделенным первый пунки списка
	//	$('select[@name=loadFileName] option:first').removeAttr('selected');// Принудительно снять выделение с элемента списка
	//	var file = $('select[@name=loadFileName] option:selected').val();// Получить значение выделенного пункта из списка
	//	var file = $('select[@name=loadFileName] option:selected').text();// Получить значение выделенного пункта из списка
	//	if( typeof $('select[@name=loadFileName] option:selected').text() === 'undefined' ){// Проверить, выбран ли какой-нибудь элемент списка
	//		alert('Ни один элемент списка не выбран');
	//	}
	//	$('select[@name=loadFileName]').attr('size', $('select[@name=loadFileName] option').size());// Превратить список в “автомасштабируемый”
	//	$('select[@name=loadFileName] option:contains('текст нужного элемента')').attr('disabled', 'disabled');// Сделать недоступны для выбора отдельный элемент
	//	$('select[@name=loadFileName] option:disabled').removeAttr('disabled');// Разрешить выделение всех ранее недоступных элементов можно так


function predcalc(identif) {
	var ident = (identif || null != null ? identif : -1);
	var objgroup = $('.CHANGECOL');
	var i = 0;
	var itog = 0;
	while(objgroup.get(i) || null != null) {
		var obj = objgroup.get(i);
		var id = (obj.id).substr(2);
		obj = $('#GU' + id); // Переопределяем объект, иначе не работает
		// Преобразуем цены к стандартному представлению
		var convtomoney = moneyformat($('#GP' + id).html());
		$('#GP' + id).html(convtomoney);
		// *********************************************
		var cost = backfrommoney($('#GP' + id).html());
		regular_expression('GU' + id);
		var kol = obj.val();
		if(trim(kol)==='') {
			obj.val('');
			kol = 0;
		}
		var summcost = kol*cost;
		$('#SM' + id).html(moneyformat(summcost));
		itog += summcost;
		i++;
	}
	torecycled(ident, '', '', '', 0, 'del');
	$('#itog').html(moneyformat(itog));
}

function moneyformat(num) {
	var snum = (new String(num)).toLowerCase();
	if(snum.indexOf('<span>')!=-1)
		return snum;
	var indp = snum.indexOf('.');
	var indz = snum.indexOf(',');
	var ret = '';
	var ind = -1;
	if(indp!=-1)
		ind = indp;
	if(indz!=-1)
		ind = indz;
	if(ind==-1)
		ret = '<span>' + snum + ',00</span> <span class="rur">p<s>уб.</s></span>';
	else {
		var starstr = snum.substr(0, ind);
		var endstr = snum.substr(ind+1);
		if(endstr.length==1)
			endstr += '0';
		var ret = '<span>' + starstr + ',' + endstr + '</span> <span class="rur">p<s>уб.</s></span>';
	}
	return ret;
}

function backfrommoney(mon) {
	var smon = (mon || '').toLowerCase();
	var inds = smon.indexOf('<span>');
	if(inds==-1)
		return smon;
	var inde = smon.indexOf('</span>');
	if(inde==-1)
		return smon;
	var cost = smon.substring(inds+6, inde);
	var indz = cost.indexOf(',');
	var rub = cost.substr(0, indz);
	var kop = cost.substr(indz+1);
	return rub + '.' + kop;
}

function doyoumustrefresh(thishref) {
	$.post("/mustrefresh.php", {thishref: thishref, random: Math.random()},
		function(data) {
			if(data!='')
				window.location.href = data;
		}
	);
}

function calcaddtoitog() {
	var itog = backfrommoney($('#itog').html());
	if($('#dost').val()=='Самовывоз') {
		$('#sumdost').html('<span>0,00</span> <span class="rur">p<s>уб.</s></span>');
		$('#itogdost').html(moneyformat(itog));
	}
	if($('#dost').val()=='Курьер (Пермь)') {
		if(itog>1500) {
			$('#sumdost').html('<span>0,00</span> <span class="rur">p<s>уб.</s></span>');
			$('#itogdost').html(moneyformat(itog));
		}else {
			$('#sumdost').html('<span>150,00</span> <span class="rur">p<s>уб.</s></span>');
			$('#itogdost').html(moneyformat((new Number(itog))+150));
		}
	}
	if($('#dost').val()=='Почта России') {
		if($("#oplata").val() == "Безналичный")
		{
			$('#sumdost').html('<span>200,00</span> <span class="rur">p<s>уб.</s></span>');
			$('#itogdost').html(moneyformat((new Number(itog))+200));
		}
		else if($("#oplata").val() == "Наложеный платеж")
		{
			$('#sumdost').html('<span>0,00</span> <span class="rur">p<s>уб.</s></span>');
			$('#itogdost').html(moneyformat((new Number(itog))+0));
		}
	}
}

function ToggleBlock(tel, fid) {
	con = 'LikeUrl';
	cof = 'LikeUrlOff';
	if($(tel).hasClass(con)){
		$('#' + fid).show();
		$(tel).removeClass(con);
		$(tel).addClass(cof);
	} else {
		$('#' + fid).hide();
		$(tel).removeClass(cof);
		$(tel).addClass(con);
	}
}

function torecycled(id, art, nazv, price, col, adddel) {
//	alert('id - ' + id + '; art - ' + art + '; nazv - ' + nazv + '; price - ' + price + '; col - ' + col + '; adddel - ' + adddel);
	$.post("/adddel.php", {id: id, art: art, nazv: nazv, price: price, col: col, adddel: adddel, random: Math.random()},
		function(data) {
			var mdata = data.split('***');
			var sdata = mdata[0];
			selgood = mdata[1];
			if(sdata.indexOf('add')!=-1) {
				$('#GB' + id).attr('class', 'BasketButton Del');
				$('#GB' + id).html('Удалить из корзины');
			}
			if(sdata.indexOf('del')!=-1) {
				$('#GB' + id).attr('class', 'BasketButton Add');
				$('#GB' + id).html('Добавить в корзину');
			}
			$('#info').html(mdata[2]);
			$('#selgood').html(selgood);
			var massid = (new String(mdata[3] || null)).split('---');
			var objgroup = $('.BasketButton');
			var i = 0;
			while(objgroup.get(i) || null != null) {
				var obj = objgroup.get(i);
				var id = (obj.id).substr(2);
				obj = $('#GB' + id); // Переопределяем объект, иначе не работает
				if(in_array(id, massid)==true) {
					obj.attr('class', 'BasketButton Del');
					obj.html('Удалить из корзины');
				}else {
					obj.attr('class', 'BasketButton Add');
					obj.html('Добавить в корзину');
				}
				i++;
			}
			if(isrefresh==0) {
				divposition($(window).scrollTop());
			}
			isrefresh = 1;
		}
	);
}

function in_array(id, ar) {
	for(var i=0; i<ar.length; i++) {
		if(ar[i]==id)
			return true;
	}
	return false;
}
function MailFormSubmit(mf) {
 $.post('/ajax.php', $(mf).serialize(), function(text) {
 if(text == 'OK'){
 $('#MailFormOkText').show();
 } else {
 $('#MailFormErrorText').show();
 }
 $('#MailForm').hide();
 }, 'text');
}
function getUrl(tf) {
	$.post("/geturl.php", {tf: tf, random: Math.random()},
		function(data) {
			if(tf.indexOf('basket')!=-1) {
				$('#myElement').html('<a id="tobasket" style="cursor: pointer;">Вернуться в магазин</a><div id="selgood" style="display: none"></div>');// href="' + data + '"
				$('#tobasket').click(function() {
					saveBCols('SAVE',data);
				});
			}else {
				$('#myElement').html('У Вас в <a id="tobasket" href="/basket/">корзине</a><div id="selgood">' + selgood + '</div>');
				info_show(0);
			}
			saveBCols('GET','');
		//	predcalc();
		//	calcaddtoitog();
		}
	);
}

function saveBCols(com, url) {
	var objgroup = $('.CHANGECOL');
	var i = 0;
	var obj = null;
	var obj_id = '';
	var obj_val = 0;
	var ajaxstr = '';
	while(objgroup.get(i) || null != null) {
		obj = objgroup.get(i);
		obj_id = obj.id;
		obj = $('#' + obj_id);
		obj_val = obj.val();
		ajaxstr += 'id=' + obj_id + ';val=' + obj_val + ';'
		i++;
	}
	$.post("/savecol.php", {com: com, ajaxstr: ajaxstr, random: Math.random()},
		function(data) {
			var retstr = new String(data);
			var mids = putVals(retstr.split('id='), ';');
			var mvls = putVals(retstr.split('val='), ';');
			for(var i=0; i<mids.length; i++) {
				$('#' + mids[i]).val(mvls[i]);
			}
			if(com=='SAVE') {
				window.location = url ;
			}
			if( com=='GET' ) {
				predcalc();
				calcaddtoitog();
			}
		}
	);
};

function putVals(m, spl) {
	var retmass = new Array();
	for(var i=1; i<m.length; i++) {
		var ind = (new String(m[i])).indexOf(spl);
		retmass[i-1] = (new String(m[i])).substr(0, ind);
	}
	return retmass;
}

function info_show(n) {
	if(n==1)
		//$('#info').show('slow');
		$('#info').show();
		//$('#info').fadeIn();
		//$('#info').animate({ opacity: "show" }, "slow");
	else
		//$('#info').hide('slow');
		$('#info').hide();
		//$('#info').fadeOut();
		//$('#info').animate({ opacity: "hide" }, "slow");
}

function regular_expression(id) {
	var elem = $('#' + id);
	var str_elem = new String(elem.val());
	elem.val(str_elem.replace(/[^0-9]*/g,''));
	if( Math.round(elem.val())===0)
		elem.val('');
}
