var add_item_id = 0;
var add_item_num = 0;
var add_item_var = 0;
var is_in_cart = false;

/* common function */
function toggleBlock(id, link, animate, t_class, animate_param, opened_text, closed_text, parent_index){
	if(!animate_param){
		animate_param = 'height';
	}
	
	var el = typeof(id) == 'object' ? id : $('#' + id);
	
	var res = 1;
	if(t_class){
		var par = link;
		if(parent_index){
			for(var i=0; i<parent_index; i++){
				par = $(par).parent();
			}			
		}
		$(par).toggleClass(t_class);
	}
	if($(el).css('display') == 'none'){

		if(animate){
			if(animate_param == 'height')
				$(el).animate({'height': 'show'}, 'fast');
			else
				$(el).animate({'width': 'show'}, 'fast');
		}else
			$(el).show();
		
		if(opened_text && link){
			link.innerHTML = opened_text;
		}
			
	}else{
		if(animate){
			if(animate_param == 'height')
				$(el).animate({'height': 'hide'}, 'fast');
			else
				$(el).animate({'width': 'hide'}, 'fast');
		}else
			$(el).hide();
			
		if(closed_text && link){
			link.innerHTML = closed_text;
		}
	}
	if(link)
		link.blur();
	return false;
}


function switchTabs(cnt, lnk){
	lnk.blur();	
	if(!$(lnk).hasClass('selected')){
		$(lnk).addClass('selected');
		$('a', $(lnk).parent().parent().siblings()).removeClass('selected');
		$('#' + cnt).removeClass('hidden').siblings().addClass('hidden');
	}	
}

function switchHeaderTab(cnt, lnk){
	lnk.blur();	
	var par = $(lnk).parent().parent();
	if(!$(par).hasClass('sel')){
		$(par).addClass('sel');
		$(par).siblings('.sel').removeClass('sel');
		$('#' + cnt).show().siblings().hide();
		$('#cart_stat').hide();
	}	
}

/* Simple Ajax */
function ajaxLoadContent(url, content_id, params){
	$('#' + content_id).html('<div class="ajax_loader"><img src="/img/ajax-loader.gif"/></div>');
	$.get(url, params, 
		function(response){
			onAjaxContentLoaded(response, content_id);
		}
	);
}

function onAjaxContentLoaded(text, content_id){
	$('#' + content_id).html(text);
}

/* dealers functions */
function changeDealersRegion(url, sel, product){
	sel.blur();
	params = {'region': sel.value, 'update_list': 1}
	if(product){
		params.product = product;
	}
	//ajaxLoadContent(url, 'dealers', params);
	$('#dealers').html('<div class="ajax_loader"><img src="/img/ajax-loader.gif"/></div>');
	$.getJSON(url, params, onDealersLoaded);
}

function onDealersLoaded(resp){
	$('#dealers').html(resp.content);
	$('#dealers_num').html(resp.dealers_num);
}

function goToDealers(){
	var val = $('#dealer_region_id').attr('value');
	if(val){
		location.href='/dealers/?region=' + val;
	}
}

$(document).ready(
	function(){
		var cpt = $('div.field_capture');
		for(var i=0; i<cpt.length; i++){
			$(cpt[i]).click(
				function(){
					var fld = $(this).next();
					$(fld).focus();
					$(this).fadeOut('fast');
				}
			);
			var fld = $(cpt[i]).next();
			$(fld).blur(
				function(){
					if(this.value == ''){
						var cpt = $(this).prev();
						$(cpt).fadeIn('fast');
					}
				}
			).focus(
				function(){
					var cpt = $(this).prev();
					$(cpt).fadeOut('fast');
				}
			);
		}
		
	}
);

function scrollPhotos(dir){
	
	var container = document.getElementById('scroll_photos_container');
	var content = document.getElementById('scroll_photos_content');
	var cnt_width = container.offsetWidth;
	var photos_width = content.offsetWidth;
	var cur_pos = content.offsetLeft;
	var new_pos = null;
	
	if(dir == 0){
		if(cur_pos < 0){			
			new_pos = cur_pos+cnt_width;
			if(new_pos > 0)
				new_pos = 0;
		}
	}else{
		var t_p = photos_width+cur_pos-cnt_width;
		if(t_p > 0){			
			new_pos = cur_pos-cnt_width;
		}
	}
	
	if(new_pos != null)
		$(content).animate({'left': new_pos + 'px'});
	
}

$(document).ready(
	function(){
		$('.product_card_container').mouseover(
			function(){
				$(this).addClass('c_hover');
			}
		).mouseout(
			function(){
				$(this).removeClass('c_hover');
			}
		);
	}
);

function highlightSection(folder, brand){
	$('div.item_' + folder + '_' + brand).addClass('cc_hover');
}


function outSection(folder, brand){
	$('div.item_' + folder + '_' + brand).removeClass('cc_hover');
}

function fillSelect(data, form_name, select_name, selected_item){
	
	var options = $('option', data);
	var sel = $('select[@name="' + select_name + '"]', document.forms[form_name]);
	sel = sel[0];
	$('option', sel).remove();
	
	
	for(var i=0; i<options.length; i++){
		sel.options[i] = new Option($('name', options[i]).text(), $('value', options[i]).text());
		if(selected_item == $('value', options[i]).text()){
			$(sel.options[i]).attr('selected', true);
		}
	}
		
}

/* popups */
function showPopup(id, link, show_no_reg){
	if(show_no_reg)
		$('#without_registration').show();
	else
		$('#without_registration').hide();
	hideAllPopups();
	if(link)
		link.blur();
	showSandBox();
	var t = ($(window).width()-$('#' + id).width())/2;
	$('#' + id).show();//animate({height: 'show'}, 200);
	$('#' + id).css({'left': t});
	$('#' + id).css({'top': $(document).scrollTop() + 50});
	//$(document).scrollTop(0);
}

function hidePopup(id){
	hideSandBox();
	var t = document.getElementById(id);
	if(t){
		t.style.display = 'none';
	}
}

function hideAllPopups(){
	hideSandBox();
	$('div.login_popup').hide();
	closeCartAlert();
}

function showSandBox(){
	var s = document.getElementById('sandbox');
	if(!s){
		s = document.createElement('div');
		s.setAttribute('id', 'sandbox');
		$(s).click(function(){hideAllPopups();});
		document.body.appendChild(s);
	}
	s.style.height = $(document).height() + 'px';
	$(s).show();
}

function hideSandBox(){
	var s = document.getElementById('sandbox');
	if(s){
		s.style.display = 'none';
	}
}

/* login */
function doLogin(link, form_name){
	var sch = false;
	if(!form_name){
		form_name = 'login_form';
		sch = true;
	}
	link.blur();
	var email = document.forms[form_name].elements['login'];
	var password = document.forms[form_name].elements['password'];
	var remember = document.forms[form_name].elements['remember'];
	var ok = sch ? simpleFormCheck(form_name) : true;
	if(ok){
		var s_data = {'login': email.value, 'password': password.value, '_save': 1}
		if(remember.checked){
			s_data.remember=1;
		}
		s_data.add_item_id = add_item_id;
		s_data.add_item_num = add_item_num;
		s_data.add_item_var = add_item_var;
		$.post('/login/', s_data, onLoginDone);
	}
}

function onLoginDone(text){	
	if(text != ''){
		document.getElementById('login_errors').style.display = 'block';
		document.getElementById('login_errors').innerHTML = text;
	}else{
		window.location.reload();
	}
}

function clearLoginForm(){
	var form_name = 'login_form';
	document.getElementById('login_errors').style.display = 'none';
	document.getElementById('login_errors').innerHTML = '';
	for(var i=0; i<document.forms[form_name].elements.length; i++){
		if(document.forms[form_name].elements[i].className != 'but' && document.forms[form_name].elements[i].className != 'chb'){
			document.forms[form_name].elements[i].value = '';
			$(document.forms[form_name].elements[i]).removeClass('error');
		}
	}
}

/* registration */
function doRegister(link, auto, no_reload){
	if(link)
		link.blur();
	var ok = false;
	if(auto){
		ok = true;		
	}else{
		var email = document.forms['registration_form'].elements['login'];
		var password = document.forms['registration_form'].elements['password'];
		var password_r = document.forms['registration_form'].elements['password_repeat'];
		var cpt = document.forms['registration_form'].elements['captcha_word'];
		var ok = simpleFormCheck('registration_form');
	}
	if(ok){
		var p = new Object();
		if(auto)
			p = {'auto': 1}
		else
			p = {'_save': 1, 'login': email.value, 'password': password.value, 'password_repeat': password_r.value, 'captcha_word': cpt.value}

		p.add_item_id = add_item_id;
		p.add_item_num = add_item_num;
		p.add_item_var = add_item_var;
		$.post('/registration/', p, function(rsp){onRegisterDone(rsp, no_reload)});
	}
}

function onRegisterDone(text, no_reload){
	//alert($('errors', text).text());
	if($('errors', text).text() != ''){
		document.getElementById('registration_errors').style.display = 'block';
		document.getElementById('registration_errors').innerHTML = $('errors', text).text();
	}else{
		if(!no_reload){
			window.location.reload();
		}else{
			$('#login_linkslogin_links').html($('userlinks', text).text());
			addToCart(add_item_id, null, add_item_var, add_item_num);
		}
	}
}

/* common form functions */
function onFieldFocus(el){
	$(el).removeClass('error');
}

function simpleFormCheck(form_name){
	var isok = true;
	for(var i=0; i<document.forms[form_name].elements.length; i++){
		if(document.forms[form_name].elements[i].value == ''){
			document.forms[form_name].elements[i].className = document.forms[form_name].elements[i].className == '' ? 'error' : document.forms[form_name].elements[i].className + ' error';
			isok = false;
		}
	}
	return isok;
}

function changeIntValue(val, inp, allow_zero){
	var inp = document.getElementById(inp);
	if(inp && inp.value != '' && !isNaN(parseInt(inp.value))){
		var new_val = parseInt(inp.value) + val;
		if(new_val > (allow_zero ? -1 : 0)){
			inp.value = new_val;
			if(is_in_cart){
				onCartItemNumChange(inp);
			}
		}
	}
}

function switchOrderTab(el){
	el.blur();
	var val = $(el).attr('value');
	$(el).parent().parent().addClass('cur').siblings().removeClass('cur');
	$('#extra_forms > div').hide();
	$('#form_' + val).show();
	if(val == 'registered'){
		$('#main_order_form').hide();
	}else{
		$('#main_order_form').show();
		if(val == 'no_reg'){
			$('#form_field_p_name').hide();
			$('#form_field_surname').hide();
		}else{
			$('#form_field_p_name').show();
			$('#form_field_surname').show();
		}
	}
}

function showAjaxLoader(txt){
	if(!txt){
		txt = 'Подождите, пожалуйста...';
	}
	$('#ajax_loader').text(txt).show();
}

function showPathPopup(pid){
	var pos = $('#page_title').position();
	var height = document.getElementById('page_title').offsetHeight;
	if(pid == 'brands_popup')
		$('#categories_popup').hide();
	else
		$('#brands_popup').hide();

	$('#' + pid).css({'left': pos.left+2, 'top': pos.top + 26}).show();
}

function hidePathPopup(pid){
	$('#' + pid).hide();
}

$(document).ready(
	function(){
		var i1 = new Image();
		i1.src = '/img/green_btn_l.gif';
		var i2 = new Image();
		i2.src = '/img/green_btn_r.gif';
		var i3 = new Image();
		i3.src = '/img/to_cart_btn_hover.gif';
	}
);

function voteForProduct(pid, lnk){
	if(lnk){
		lnk.blur();
		lnk.setAttribute('onclick', 'this.blur(); return false;');
		$('img', lnk).attr('src', '/img/vote_btn_ok.jpg');
	}
	$.post(
		'/catalog/?a=vote', 
		{'product_id': pid},
		function(){
			showVoteAlert();
		}
	);
}

function showVoteAlert(){
	
	var a = document.getElementById('vote_alert');
	if(!a){
		var cnt = '<div class="alert_close"><a onClick="closeVoteAlert(); return false;" href="#"><img src="/img/close_ic.gif"/></a></div>';
		cnt += '<div class="alert_content">';
		cnt += '<b>Спасибо! Ваш голос учтен!</b><a onClick="closeVoteAlert(); return false;" href="#" class="blue_btn"><span>Продолжить покупки</span></a>';
		cnt += '</div>';
		a = document.createElement('div');
		a.innerHTML = cnt;
		a.setAttribute('id', 'vote_alert');
		a.setAttribute('class', 'custom_alert');
		document.body.appendChild(a);
	}
	
	showSandBox();
	var t = $(document).scrollTop() + (($(window).height()-90)/2 - 30);
	var l = ($(window).width()-351)/2;
	a.style.top = t + 'px';
	a.style.left = l + 'px';
	a.style.display = 'block';
	
}

function closeVoteAlert(){	
	$('#vote_alert').hide();
	hideSandBox();
}
function showSpecialProducts(sid, cnt_id, link){
	link.blur();
	var par = $(link).parent();
	if(document.getElementById(sid).style.display != 'block'){
		$(par).siblings('.act').removeClass('act');
		$(par).addClass('act');
		$('#' + sid).show().siblings().hide();
	}	
}

function switchProduct(ind, lnk){
	cur_pod = ind;
	if(lnk){
		lnk.blur();
		clearInterval(pod_switcher);
		pod_switcher = setInterval(function(){switchNextProduct()}, 6000);
	}
	$('#pod_control_' + ind).addClass('cur').siblings().removeClass('cur');
	$('#pod_' + ind).siblings().hide();
	$('#pod_' + ind).fadeIn();
}

function switchNextProduct(){
	var ind = cur_pod+1;
	if(ind > pod_count)
		ind = 1;
	switchProduct(ind);
}

function showAllText(lnk){
	lnk.blur();
	var txt = $(lnk).next();
	var mode = 'open';
	if(!txt.length){
		txt = $(lnk).parent();
		mode = 'close'	
	}
	if(mode == 'open'){
		$(lnk).hide();
		$(txt).show();
	}else{
		$(txt).prev().show();
		$(txt).hide();
	}
}

function submitTrackerForm(frm){
	$('#delivery_tracker_result').html('');
	var num = $('input[@name="BarCode"]', frm).attr('value');
	if(num == 'Введите номер отправления')
		num = '';
	else
		num = num.replace(/\s/g, '');
	if(num == ''){
		alert('Необходимо ввести номер отправления');
	}else{
		if(num.match(/^[A-z]{2}[0-9]{9}[A-z]{2}$/)){
			$(frm).attr('action', 'http://www.russianpost.ru/resp_engine.aspx?Path=rp/servise/ru/home/postuslug/trackingpo').attr('target', '_blank');
		}else{
			$(frm).attr('action', '/delivery-tracker/').attr('target', '_self');
		}
		$(frm).submit();
	}
}
