var cart_block_link = "a.show-cart";
var cart_block_string = ".basket_i p span";
var cart_add_link = ".add-to-cart";
var cart_path = "/cart/";
var rp_fancylinks = "a.zoomable";
var rp_serach_field = "#s";

if( function_exists("$") ){

jQuery.fn.extend({
	check: function() {
		return this.each(function() { this.checked = true; });
	},
	uncheck: function() {
		return this.each(function() { this.checked = false; });
	}
});

function CommentsInit(){
	$(".comments_form input[name=LOGIN]").val(getCookie('username',''));
	$(".comments_form").submit(function(){
		if( !check_frm1('LOGIN;TXT', this)){
			return false;
		}
		setCookie('username',$(this).find("input[name=LOGIN]").val());
		var data = $(this).serialize();
		$.post(location.href, data,
			function(result) {
				 $('#comments_box').html( $(result).find('#comments_box').html() );
				 CommentsInit();
			});
		return false;
	}).keydown(function(e){
		if( e.ctrlKey && e.which==13 ){
			$(this).submit();
		}
	});

}

var abs_fields = [];
$(function() {

	//AjaxPathLoad();

	CommentsInit();

	// Get obligatory feilds
	$('.fb textarea,.fb input[type=text],.fb select,.fb input[type=password]').each(function(){
		var f_id = $(this).parents('form').attr('id');
		if( $(this).siblings('label').text().indexOf('*') != -1 ){
			if( !abs_fields[f_id] ) abs_fields[f_id] = "";
			abs_fields[f_id] +=  $(this).attr('name') +";";
		}
	});
	$('.fb').submit(function(){
		var f_id = $(this).attr('id');
		var ret = check_frm1(abs_fields[f_id], this);
		return ret;
	});

	$( rp_serach_field ).click(function(){
		if( $(this).val() == $(this).get(0).defaultValue ){
			$(this).val("");
		}
	}).blur(function(){
		if( $(this).val() == "" ){
			$(this).val( $(this).get(0).defaultValue );
		}
	});

	if( $.fancybox ){
		$( rp_fancylinks ).fancybox({
			overlayShow: true,
			overlayOpacity: 0.5,
			zoomSpeedIn: 0,
			zoomSpeedOut:0,
			titlePosition: 'inside'
		});
	}

	$( cart_block_link ).click(function(){
		GetCartDialog();
		$("#dialog").load( cart_path + "?action=getAjWindow", function(){
			$("#dialog .delete").click( DeleteBasketItem );
		});
		return false;
	});

	$( cart_add_link ).click(function(){
		GetCartDialog();
		var d = $(this).attr("rel").split(";");
		var data = {tp: d[0], id: d[1] };
		var comm = $("#size").val();
		if( comm ){
			data.comm = comm;
		}
		if( $('#kol' + data.id).val() ){
			data.kol = $('#kol' + data.id).val();
		}
		$.post(
			cart_path + "?action=aj_additem", 
			data,
			function(html){
				$("#dialog").load( cart_path + "?action=getAjWindow", function(){
					$("#dialog .delete").click( DeleteBasketItem );
				});
				$( cart_block_string ).load("/?getbasketstring=1");
			});
		return false;
	});

}); // end $()
}// end if

function SelectCheckBoxes( tp, selector ){
	switch( tp ){
		case 'all':
			$(selector + " input[type=checkbox]:not(:disabled)").check();
			break;
		case 'none':
			$(selector + " input[type=checkbox]:not(:disabled)").uncheck();
			break;
		default:
			$(selector + " input."+tp+"[type=checkbox]:not(:disabled)").check();
	}
	//return false;
}

function GetCartDialog(){
	if( !document.getElementById('dialog') ){
		$('body').append('<div id="dialog" title="Корзина товаров"></div>');
	}
	$("#dialog").dialog({bgiframe: true, width: 500, modal: true, overlay: { backgroundColor: '#000', opacity: 0.5 },
		buttons: {
			'Оформить заказ': function() {
				location.href = cart_path;
			},
			'Продолжить выбор товаров': function() {
				$( cart_block_string ).load("/?getbasketstring=1");
				$(this).dialog('destroy');
			}
		},
		close: function(event, ui) {
			$(this).dialog('destroy');
			$( cart_block_string ).load("/?getbasketstring=1");
		}
	});
}

function DeleteBasketItem( ){
	$.post( 
		cart_path + "?action=aj_delitem", 
		{ id: $(this).attr('rel') },
		function(){
			$("#dialog").load( cart_path + "?action=getAjWindow", function(){
				$("#dialog .delete").click( DeleteBasketItem );
			});
		});
	return false;
}

function IsEmail (obj) {
	obj.value += "";
	if( obj.value.length != 0 ) {
		var comAt = "@";
		if( obj.value.indexOf("@", 0) == -1 || obj.value.indexOf(".", 0) == -1 ) {
			alert("Не верный e-mail адрес");
			obj.focus();
			return 0;
		}
	}
	return 1;
}

function IsWWW (obj) {
	obj.value += "";
	if( obj.value.length != 0 ) {
		var http = "http://";
		if( obj.value.indexOf("http://", 0) == -1 || obj.value.indexOf(".", 0) == -1 ) {
			alert("Не корректный URL");
			obj.focus();
			return 0;
		}
	}
	return 1;
}

function check_frm1( d, frm, prefix ) {
	if( prefix == null ){
		prefix = "";
	}
	var e = d.split(";");
	for( var i = 0; (i < e.length && e[i] != ""); i++ ){
		var obj = $(frm).find('[name=' + prefix + e[i] +']');
		switch( $( obj ).attr("type") ){
			case "checkbox":
				/*if( !$("#" + prefix + o[0]).attr("checked") ){
					alert( o[1] );
					$("#" + prefix + o[0]).focus();
					return false;
				}*/
			break;
			default:
				if( !check_frm_text( obj ) ){ return false; }
			break;
		}
	}
	return true;
}

function check_frm_text( obj){
	if( $(obj).val().length == 0 ) {

		var pos = $(obj).position();
		var msg = $('<span>' + 'Это поле обязательно для заполнения</span>').addClass('error').css({
			'position': 'absolute',
			'top': (pos.top-38) + 'px',
			'left': pos.left+'px',
			'z-index': '5'
			});
		$( obj ).after( msg );
		$(msg).delay(1000).fadeOut('slow');

		$(obj).focus();
		return false;
	}
	return true;
}

function function_exists( function_name ) {
	if (typeof function_name == 'string'){
		return (typeof window[function_name] == 'function');
	} else{
		return (function_name instanceof Function);
	}
}

function Uri2Obj( str ){
	var obj = { 
		'qs': str,
		'protocol': '', 
		'host': '',
		'url':'',
		'dir':'', 
		'params': [],
		'anchor': '' };

	obj.url = obj.qs.indexOf('?') != -1 ? obj.qs.split("?")[0] : obj.qs.split("#")[0];
	var tmp = obj.url.split("://");
	obj.protocol = tmp[0] ? tmp[0] : "";
	if( tmp[1] ){
		obj.host = tmp[1].split("/")[0];
		obj.dir = tmp[1].replace(obj.host, "");
	}

	tmp = obj.qs.split("#");
	obj.anchor = tmp[1] ? tmp[1] : "";

	tmp = tmp[0].split("?");
	tmp = tmp[1] ? tmp[1].split("&") : [];
	for( var i = 0; i<tmp.length; i++ ){
		var key_val = tmp[i].split("=");
		obj.params[unescape(key_val[0])] = (key_val[1] ? unescape(key_val[1]) : "");
	}
	return obj;
}

function GetAjaxPath(){
	var uri = Uri2Obj( location.href );
	if( uri.anchor.length && uri.anchor.split("/")[0] == "nav" ){
		return uri.anchor.substr(3);
	}
	return false;
}

function AjaxPathLoad(){

	var ajax_path = GetAjaxPath();
	if( ajax_path != false ){
		$("#static").load( ajax_path + " #dinamic");
	}

	$('.menu_top a').click(function(){
		url = $(this).attr('href');
		$("#static").load( url + " #dinamic" );
		location.href = "#nav" + url;
		return false;
	});

}

function LoadAudio( container, filename ){
	AudioPlayer.setup("/images/swf/audio_player.swf", { width: 290 });
	AudioPlayer.embed(container, {soundFile: filename, autostart: "yes", transparentpagebg: "yes"});
}

var Digital = new Date();
var Expon = new Date();
	Expon.setTime (Expon.getTime() + (365*24*3600*1000));
function getCookie (name, defVal) {
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen) {
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg)
			return getCookieVal (j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0)
			break;
	}
	return defVal;
}
function getCookieVal (offset) {
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
		endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}
function setCookie (name, value) {
	var argv = setCookie.arguments;
	var argc = setCookie.arguments.length;
	var expires = (argc > 2) ? argv[2] : null;
	var path = (argc > 3) ? argv[3] : null;
	var domain = (argc > 4) ? argv[4] : null;
	var secure = (argc > 5) ? argv[5] : false;
	document.cookie = name + "=" + escape (value) +
		((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
		((path == null) ? "" : ("; path=" + path)) +
		((domain == null) ? "" : ("; domain=" + domain)) +
		((secure == true) ? "; secure" : "");
}