var local_path = (location.hostname == 'code.gilbarbara.com' ? '/rraurl/' : '/');
var skyy_path = local_path + 'skyyvodka/';

var AjaxAri = new Array();
var AjaxNav = new Array();

var breadcrumb = {
	home: '<a href="#" id="home" class="bc">home</a>',
	produto: '<a href="#" id="produto" class="bc">produto</a>',
	drinks: '<a href="#" id="drinks" class="bc">drinks</a>',
	circuito: '<a href="#" id="circuito" class="bc">circuito</a>',
	campanha: '<a href="#" id="campanha" class="bc">campanha</a>',
	contato: '<a href="#" id="contato" class="bc">contato</a>'
}

function unixtime() {
	var dd = new Date; // Generic JS date object
	var unixtime = parseInt(dd.getTime() / 1000);
	return unixtime;
}

function AjaxUpdate (element,url,options) {
	if (!options) options = new Object();

	options.method = (options.method ? options.method : 'post');
	options.eval = (options.eval ? options.eval : true);
	if (options.hash) {
		location.hash = '#/'+options.hash;
		$('#locator_text').html('/ '+breadcrumb[options.hash]);
	}

	if (!AjaxAri[url] || (AjaxAri[url] + 5) < unixtime()) {
		AjaxAri[url] = unixtime();
		AjaxNav.push(url);

		if (options.before) eval(options.before);
		$.ajax({ type: options.method, url: url, data: options.params, success: function(result){
			AjaxAri[url] = false;
			$('#'+element).html(result);
			if (options.after) eval(options.after);

			$(document).trigger('ajaxFinished');
			$.prettyLoader.hide();
		}, error: function (request,error) {     
            alert("Algum erro ocorreu. Por favor tente novamente ("+request.status+")");
		}

		});
	}

	return false;
}

function LoadSite(query, hash) {
	if (!hash) hash = new Object();
	$('#jplayer').jPlayer("stop").remove();
	if ($('#skyy').is(':visible')) {
		$('#campari').slideUp();
		$('#skyy').fadeOut('slow',function() {
			AjaxUpdate('skyy', skyy_path+'shared/tasks.php'+query, hash);
		});
	} else AjaxUpdate('skyy', skyy_path+'shared/tasks.php'+query, hash);

	if ($('#age_check').length) {
		$('#age_check').animate({ opacity: 0 }, 1000, function() {
			$('#age_check').remove();
		});
	}
	
	return true;
}

function ChangePage (url,options) {
	if (!options) options = new Object();
	$('#jplayer').jPlayer("stop").remove();
	options.side = (options.side ? options.side : 'left');
	location.hash = (options.hash ? '#/'+options.hash : '');
	$('#locator_text').html(options.hash ? '/ '+breadcrumb[options.hash] : '');
	if (options.before) eval(options.before);

	$('#campari').slideUp();

	$('#skyy')
	.absolutize()
	.animate({ left: (options.side == 'left' ? 0 - $(document).width() : $(document).width()) }, 1000, function() {
		$.ajax({ type: options.method, url: url, data: options.params, success: function(result){
			$('#skyy').css({ left: (options.side == 'left' ? $(document).width()  : 0 - $(document).width())})
			.html(result)
			.animate({ left: ($(document).width() - 984 ) /2 }, 1000, function() {
				$(this).css({ position: 'relative', top: '', left: '' });
				$('#campari').slideDown();
			});
			if (options.after) eval(options.after);
		}, error: function (request,error) {     
            alert("Algum erro ocorreu. Por favor tente novamente ("+request.status+")");
		}
		});
	});
	return true;
}

function StartPage(path) {
	$('.corner').corner('5px');
	if (!($.browser.msie && $.browser.version == 6)) $('.button_corner').corner('3px');
	if (path) {
		_gaq.push(['_trackPageview', path]);
		_gaq.push(['skyy._trackPageview', path]);
		_gaq.push(['skyyb._trackPageview', path]);
	}
	return true;
}

function createModal(name, options) {
	if (window[name]) return window[name];

	if (!options) options = new Object();

	options.width = (options.width ? options.width : 'auto');
	options.minHeight = (options.minHeight ? options.minHeight : 150);
	options.opacity = (options.opacity ? options.opacity : 0.50);
	options.closeEsc = (options.closeEsc ? false : true);
	options.closeBt = (options.closeBt ? false : true);
	options.modal = (options.modal ? false : true);
	options.resizable = (options.resizable ? false : true);
	options.draggable = (options.draggable ? false : true);
	options.className = (options.className ? options.className : '');
	options.positionX = (options.positionX ? options.positionX : '');
	options.positionY = (options.positionY ? options.positionY : '');

	$.ui.dialog.defaults.bgiframe = true;

	$('<div style="display: none;"/>').attr('id',name).appendTo('body');

	window[name] = $("#"+name).dialog({
		bgiframe: true,
		autoOpen: false,
		modal: options.modal,
		width: options.width,
		minWidth: 300,
		minHeight: options.minHeight,
		resizable: options.resizable,
		draggable: options.draggable,
		closeOnEscape: options.closeEsc,
		dialogClass: options.className,
		overlay: {
			backgroundColor: '#133886',
			opacity: options.opacity
		}

	});
	if (!options.closeBt) $("#"+name).dialog('option', 'open', function(event, ui) {
		$(this).parent().children().children('.ui-dialog-titlebar-close').hide();
	});

	return window[name];
}

function ageRequest (url,options) {
	if (!options) options = new Object();
	createModal('ageModal',{ width: 378, resizable: 'false', draggable: 'false', minHeight: 30, className: 'ageModal' });
	
	if (!AjaxAri[url] || (AjaxAri[url] + 5) < unixtime()) {
		AjaxAri[url] = unixtime();
		$.ajax({ type: 'post', url: url,
		success: function(data) {
			AjaxAri[url] = false;
			$('#ageModal')
			.html(data)
			.dialog('option', 'width', 'auto')
			.dialog('option', 'height', 'auto')
			.dialog('open');
		}, error: function (request,error) {
			AjaxAri[url] = false;
			alert("Algum erro ocorreu. Por favor tente novamente ("+request.status+")");
		}
		});
	}
	return false;
}

function ModalDialog (title, msg, options) {
	if (!options) options = new Object();
	createModal('mDialog',{ width: 300, resizable: 'false', draggable: 'false', minHeight: 30, modal: 'false', className: 'mDialog' });
	$('#mDialog').dialog('option', 'title', title);
	if (options.buttons) {

		var myObj= {}; // shorthand for a new object
		$.each(options.buttons, function(index,value) {
			myObj[index] = value;
		})
		myObj['Cancelar'] = function() { $(this).dialog('close'); };

		$('#mDialog').dialog('option', 'buttons', myObj);
	}
	$('#mDialog').html(msg).dialog('open');
	if ($('.ui-dialog-buttonpane')) $('.ui-dialog-buttonpane button:eq(0)').focus();
	return false;
}

function showAlert(msg) {
	if ($('#alert').visible()) {
		var wait = setTimeout("showAlert('"+msg+"');",1000);
		return false;
	}
	$('#alert').html(msg);
	$('#alert').fadeIn();
	setTimeout("$('#alert').fadeOut();",5000);
	return false;
}

function stripAccent(str) {
	var s=str;

	var rExps=[ /[\xC0-\xC2]/g, /[\xE0-\xE2]/g,
	/[\xC8-\xCA]/g, /[\xE8-\xEB]/g,
	/[\xCC-\xCE]/g, /[\xEC-\xEE]/g,
	/[\xD2-\xD4]/g, /[\xF2-\xF4]/g,
	/[\xD9-\xDB]/g, /[\xF9-\xFB]/g, /[\xc7]/g,/[\xe7]/g, ];

	var repChar=['A','a','E','e','I','i','O','o','U','u','C','c'];

	for(var i=0; i<rExps.length; i++)
	s=s.replace(rExps[i],repChar[i]);

	return s;
}

function swf_instance (options,swf_instance_count) {
	if (!options) options = new Object();

	options.upload_url = (options.upload_url ? options.upload_url : skyy_path+'admin/upload.php');
	options.file_size_limit = (options.file_size_limit ? options.file_size_limit : '50M');
	options.file_types = (options.file_types ? options.file_types : '*.*');
	options.file_types_description = (options.file_types_description ? options.file_types_description : 'All Files');
	options.debug = (options.debug ? options.debug : false);

	var settings = {
		flash_url : skyy_path+"shared/swfupload.swf",
		upload_url: skyy_path+options.upload_url,	// Relative to the SWF file
		post_params: {
		"new_upload" : 1
		},
		file_size_limit : "'"+options.file_size_limit+"'",
		file_types : options.file_types,
		file_types_description : options.file_types_description,
		file_upload_limit : 100,
		file_queue_limit : 0,
		custom_settings : {
			progressTarget : "fsUploadProgress"+(swf_instance_count > 1 ? swf_instance_count : ''),
			cancelButtonId : "btnCancel"+(swf_instance_count > 1 ? swf_instance_count : '')
		},
		debug: options.debug,

		// Button Settings
		button_image_url : skyy_path+"_images/swf_upload.png",	// Relative to the SWF file
		button_placeholder_id : "spanButtonPlaceholder"+(swf_instance_count > 1 ? swf_instance_count : ''),
		button_width: 67,
		button_height: 21,

		button_action : (options.single ? SWFUpload.BUTTON_ACTION.SELECT_FILE : SWFUpload.BUTTON_ACTION.SELECT_FILES),

		// The event handler functions are defined in handlers.js
		file_queued_handler : fileQueued,
		file_queue_error_handler : fileQueueError,
		file_dialog_complete_handler : fileDialogComplete,
		upload_start_handler : uploadStart,
		upload_progress_handler : uploadProgress,
		upload_error_handler : uploadError,
		upload_success_handler : uploadSuccess,
		upload_complete_handler : uploadComplete,
		queue_complete_handler : queueComplete	// Queue plugin event
	};
	return new SWFUpload(settings);
}

var drink1 = $('<img />').attr('src', skyy_path+'_images/drink_1.gif');
var drink2 = $('<img />').attr('src', skyy_path+'_images/drink_2.gif');
var drink3 = $('<img />').attr('src', skyy_path+'_images/drink_3.gif');

var currentId = 0;
function drinkAnimation() {
	animationLenght = drinkAri.length - 1;
	if (drinkAri[currentId] && $('div .drinks').visible()) {
		setTimeout(function() {
			drinkAri[currentId][2]();
			if (currentId == animationLenght) currentId = 1;
			else ++currentId;
			drinkAnimation();
		},drinkAri[currentId][1]);
	} else currentId = 0;
	return;
}

var drinkAri = [];

drinkAri.push(['drink1',400,function () {
	$('#glass').animate({ opacity: 1.0, left: 0 }, 1000, 'easeOutBack' );
	$('div .drinks .text').absolutize().css('left', '120px').delay(150).animate({ left: 154, opacity: 1.0 }, 600);
	$('div .drinks .title').absolutize().css('left', '120px').animate({ left: 154, opacity: 1.0 }, 600);
}]);

drinkAri.push(['drink2',5000,function () {
	$('#glass').animate({ opacity: 0 }, 100, function() {
		$('#glass').attr('src', skyy_path+'_images/drink_2.gif').css({ left: -60 }).animate({ opacity: 1.0, left: 10 }, 1000, 'easeOutBack' );
	});
}]);

drinkAri.push(['drink3',5000,function () {
	$('#glass').animate({ opacity: 0 }, 100, function() {
		$('#glass').attr('src', skyy_path+'_images/drink_3.gif').css({ left: -60 }).animate({ opacity: 1.0, left: 0 }, 1000, 'easeOutBack' );
	});
}]);

drinkAri.push(['drink1',5000,function () {
	$('#glass').animate({ opacity: 0 }, 100, function() {
		$('#glass').attr('src', skyy_path+'_images/drink_1.gif').css({ left: -60 }).animate({ opacity: 1.0, left: 0 }, 1000, 'easeOutBack' );
	});
}]);

$('.button_corner').live('mouseenter',function() {
	$button = $(this);
	$span = $(this).find('span');
	$span.css({ position: 'absolute', top: 0, left: 0 });

	$span.stop().animate({ left: '+='+$button.outerWidth(), opacity: 0 }, 200, function() {
		$span.css('left', 0 - $button.outerWidth()).animate({ left: 0, opacity: 1.0 }, 200);
	});
});

$('#menu .item a').live('click', function() {
	$('.submenu').slideUp('slow',function() {
		$('.subitem').removeClass('chosen');
	});
	$(this).parent().siblings().removeClass('selected').end().next('.submenu').slideDown().end().addClass('selected');
	link = $(this).attr('id').split('_');
	AjaxUpdate('content', skyy_path+'shared/tasks.php?do='+link[0],{ hash: link[0] });
	return false;
});

$('#menu .subitem a').live('click', function() {
	$('.subitem').removeClass('chosen')
	$(this).parent().addClass('chosen');
	AjaxUpdate('content', skyy_path+'shared/tasks.php?do='+$(this).attr('id'));
	location.hash = "#/"+$(this).attr('id');
	return false;
});

$('#navigationSkyy a').live('click',function(e) {
	e.preventDefault();
});

$('a._drink_detail').live('click',function(e) {
	e.preventDefault();
	AjaxUpdate('content', skyy_path+'shared/tasks.php?do=drinks&id='+$(this).attr('id'), { hash: 'drinks/'+$(this).attr('id')+'/'+$(this).attr('title') });
});

$('a._balada_detail').live('click',function(e) {
	e.preventDefault();
	AjaxUpdate('content', skyy_path+'shared/tasks.php?do=circuito&id='+$(this).attr('id'), { hash: 'circuito/'+$(this).attr('id')+'/'+$(this).attr('title') });
});

$('a._balada_home_detail').live('click',function(e) {
	e.preventDefault();
	LoadSite('?do=internal&type=circuito&id='+$(this).attr('id'), { hash: 'circuito/'+$(this).attr('id')+'/'+$(this).attr('title') });
});

$('a._drink_send').live('click',function(e) {
	e.preventDefault();
	AjaxUpdate('content', skyy_path+'shared/tasks.php?do=envie_drink', { hash: 'drinks/envie_drink' });
});

$('.bc').live('click',function(e) {
	e.preventDefault();
	str = $(this).attr('id');
	if (str == 'home') LoadSite('?do='+str,{ hash: str });
	else LoadSite('?do=internal&type='+str,{ hash: str });
	//AjaxUpdate('content', skyy_path+'shared/tasks.php?do=internal&type='+str, { hash: str });
});


function validateDrink() {
	$("#drink_form").validate({
		rules: {
			name: "required",
			ingredients: "required",
			preparation: "required",
			sender_name: "required",
			sender_email: {
				required: true,
				email: true
			}
		},
		messages: {
			name: "Digite o nome do drink",
			ingredients: "Digite os ingredientes",
			preparation: "Digite o modo de preparo",
			sender_name: "Digite seu nome",
			sender_email: "Digite um email válido"
		},
		// the errorPlacement has to take the table layout into account
		errorPlacement: function(error, element) {
			error.appendTo( element.parent().prev('div') );
		},
		// specifying a submitHandler prevents the default submit, good for the demo
		submitHandler: function() {
			AjaxUpdate('ajax_loading',skyy_path+'shared/tasks.php?do=envie_drink',{ params: $('#drink_form').serialize() });
			//alert("submitted!");
		},
		// set this class to error-labels to indicate valid fields
		success: function(label) {
			// set   as text for IE
			label.html(" ");
		}
	});
	return true;
}

function validateContato() {
	$("#contato_form").validate({
		rules: {
			nome: "required",
			email: {
				required: true,
				email: true
			},
			assunto: "required",
			mensagem: "required"
		},
		messages: {
			nome: "Digite seu nome",
			email: "Digite um email válido",
			assunto: "Selecione um assunto",
			mensagem: "Escreva sua mensagem"
		},
		// the errorPlacement has to take the table layout into account
		errorPlacement: function(error, element) {
			error.appendTo( element.parent().prev('div') );
		},
		// specifying a submitHandler prevents the default submit, good for the demo
		submitHandler: function() {
			$.prettyLoader.show();
			AjaxUpdate('ajax_loading',skyy_path+'shared/tasks.php?do=contato',{ params: $('#contato_form').serialize() });
			//alert("submitted!");
		},
		// set this class to error-labels to indicate valid fields
		success: function(label) {
			// set   as text for IE
			label.html(" ");
		}
	});
	return true;
}

function validateNewsletter() {
	$("#newsletter_form").validate({
		rules: {
			name: "required",
			email: {
				required: true,
				email: true
			}
		},
		messages: {
			name: "Digite seu nome",
			email: "Digite um email válido"
		},
		highlight: function(element, errorClass) {
			$(element).closest('.field_right').siblings('.field_left').addClass('error');
		},
		unhighlight: function(element) {
			$(element).closest('.field_right').siblings('.field_left').removeClass('error');
		},
		errorPlacement: function(error, element) {
		},
		submitHandler: function() {
			AjaxUpdate('ajax_loading',skyy_path+'shared/tasks.php?do=newsletter',{ params: $('#newsletter_form').serialize() });
		}
	});
	return true;
}

$(document).ready(function() {
	if ($("#body").length) $("html,body").animate({scrollTop: $("#body").offset().top}, 1000);
	var queryStr = '';
	if (location.hash && location.hash != '#') {
		var queryAri = location.hash.replace('#/','').replace('#','').split("/");
		if (queryAri.length > 0) {
			if (queryAri[0] && queryAri[0].length) queryStr += "?do="+(queryAri[0] == 'home' ? 'home' : "internal&type="+queryAri[0]);
			if (queryAri[1] && queryAri[1].length) queryStr += "&id="+queryAri[1];
			//$('#locator_text').html((queryAri[0].length ? ' / '+breadcrumb[queryAri[0]] : '')+(queryAri[2] && queryAri[2].length ? ' / '+queryAri[2] : ''));
		}
	} else queryStr += "?do=home";
	if ($('#body').length) {
		LoadSite(queryStr, { hash: (queryAri && queryAri[0] ? queryAri[0] : 'home') });
		ageRequest(skyy_path+'shared/tasks.php?do=age_check');
	}
	
	$.prettyLoader({
		bind_to_ajax: true, /* true/false */
		loader: local_path+'_images/core/ajax-mini.gif' /* Path to your loader gif */
	});
	createModal('skyyModal',{ width: 400, resizable: 'false', draggable: 'false', minHeight: 30, className: 'skyyModal' });
});
