if(!console && !window.console) {
	var console = {
		log : function() {

		}
	};
}

function _(s) {
	if(lng_data && lng_data[s])
		return lng_data[s];
	else
		return s;
}


var settings = {
	swf_url : '/img/imake.swf',
	swf_install : '/img/expressInstall.swf',
	swf_vars : false,
	swf_params : {menu: "false"},
	swf_attr : {id: "player", name: "player"}
};

var filesize = 0;
var filelength = 0;
var filelength_hum = "";
var song_infos = {artist:"Unknown artist",name:"Untitled"};
var start_at = 0;
var isPlaying = false;

var iMake = {

	tmtUp 	: null,
	player 	: null,


	setup : function() {
/*
		$.blockUI.defaults.css.size ="18px";
		$.blockUI.defaults.css.fontWeight ="bold";
		$.blockUI.defaults.css.borderWidth ="8px";
		$.blockUI.defaults.css.padding ="25px";
*/
		console.log("setup");

		$("#upfrm").submit(function(){
			var file = $("#mp3").val();
			var ext = file.split(".").pop();
			if(ext != 'mp3') {
				alert(_("must_mp3"));
				return false;
			}else{
				$("#upfrm").slideUp("normal", function(){
					$("#wait").slideDown("normal", function(){
						$("#wait span").html(_("uploading_mp3"));
					});
				});
				iMake.tmtUp = setInterval(iMake.checkUpload, 700);
			}
			$("#upstatus").html("");
		});

		$("#mp3").change(function(){

		});


	   	swfobject.embedSWF(	settings.swf_url, settings.swf_attr.id,
			1, 1, "9.0.28", settings.swf_install, settings.swf_vars, settings.swf_params, settings.swf_attr);
		$("#"+settings.swf_attr.id).css({position: "fixed", top:"2px", left:"2px"});
	    iMake.player = $("#"+settings.swf_attr.id).get(0);
	    document.getElementById("player").SetReturnValue = function () { };
	},

	loadMP3 : function() {
		$("#wait span").html(_("loading_mp3"));
		console.log("Loading sound : %s", song_infos.url);

			iMake.player = document.getElementById("player");

			try {
				iMake.player.loadSound(song_infos.url);
				//document.getElementById("player").loadSound(song_infos.url);

			}catch(e) {
				alert(e.toString());
			}



	},

	save : function() {
		$.get('/save.php', {f:song_infos.file, s:start_at}, function(ret){
			var res = ret.split(";");
			$("#saveAsRingtone").get(0).disabled = false;
			$("#saveAsRingtone").attr('value', _("save"));
			if(res[0] == 'ERR') {
				alert(res[1]);
			}else{
				window.location.href = "/ringtone.php?id=81817&data="+song_infos.file_id+":"+song_infos.file+":"+lng

				//iMake.showPayment();
			}
		});
	},

	showEditor : function() {
		$("#editor").slideDown();
		$("#playSample").click(function(){
			iMake.play();
		});
		$("#stopSample").click(function(){
			iMake.stop();
		});
		$("#saveAsRingtone").click(function(){
			$(this).attr('disabled', 'disabled').attr('value', _("plz_wait"));
			iMake.save();
		});

		$('#slider').slider({
			min : 0,
			max : song_infos.playtime-30,
			startValue : 0,
			change : function(e, ui) {
				iMake.play();
			},
			slide : function(e, ui) {
				iMake.stop();
				console.log("slider slide : %o, %o", e, ui);
				start_at = ui.value * 1000;
				$("#start_at").val(iMake.msToStr(start_at));
			}
		});

		//iMake.play();

	},

	play : function() {
		if(isPlaying) return;
		if(iMake.player) {
			var s = start_at;
			var e = start_at + (30*1000);
			iMake.player.playSound(s, e);
			isPlaying = true;
			console.log("Playing from %s to %s", iMake.msToStr(s), iMake.msToStr(e));
		}
	},

	stop : function() {

		if(iMake.player)
			iMake.player.stopSound();
	},



	checkUpload : function() {
		if($("#upstatus").html() != "") {
			clearInterval(iMake.tmtUp);
			//$("#wait span").html("#upstatus= "+$("#upstatus").html());
			var res = $("#upstatus").html().split(";");
			if(res[0] == "ERR") {
				alert(res[1]);
				$.unblockUI();
			}else{
				$("#player").empty();
				filesize = res[3];
				song_infos.playtime_string = res[4];
				song_infos.url = 'http://'+window.location.hostname+'/get/'+res[2];
				song_infos.file = res[2];
				song_infos.file_id = res[5];
				song_infos.playtime = iMake.strToSec(res[4]);
				console.log("Song infos : %o", song_infos);
				iMake.loadMP3();
			}
			$("#upstatus").html("");
		}else{
			// test
			//$("#wait span").html("#upstatus still empty");

		}
	},

	onComplete : function() {
		console.log("sound complete");
	},

	onIOErrorHandler : function(e) {
		console.log("onIOErrorHandler : %o", e);
	},

	msToStr : function(msec) {
		var tt = Math.floor(msec/1000);
		var mm = Math.floor(tt / 60);
		if (mm < 10 ){
			mm = "0"+mm;
		}
		ss = tt%60;
		if ( ss < 10 ){
			ss = "0"+ss;
		}
		return mm+":"+ss;
	},

	strToSec : function(str) {
		var s = str.split(":");
		return ( parseInt(s[0]) * 60 ) + parseInt(s[1]);
	},


	showPayment : function() {
		if(!song_infos.file) {
			alert("error");
			return;
		}
		var u = 'http://composants.rentabiliweb.com/form/?iframe=true&doc_id=81817'+
				'&site_id=348050&default_payment_type=sms&skin_color=blue2&default_language='+lng+'&data=';
		u += song_infos.file_id+":"+song_infos.file+":"+lng;
		$("#ifr-pay").attr("src", u);
		$("#editor").slideUp("normal", function(){
			$("#payment").slideDown("normal");
		});

	},

	onProgress : function(e) {
		//console.log("Prog : %o", e);

		if((e.target.length/1000) > 10) {
			//iMake.showEditor();
		}
	},

	onStop : function(pos) {
		console.log("onStop : %d", pos);
		isPlaying = false;
	},

	onPlaying : function(pos) {
		console.log("onPlaying : %d", pos);
		$("#start_at").val(iMake.msToStr(pos * 1000));
		//$('#slider').slider("moveTo", pos, 0);
	},



	onID3 : function(e) {
		console.log("ID3 : %o", e);
		song_infos.name = e.target.id3.songName;
		song_infos.artist = e.target.id3.artist;
	},

	onComplete : function(e) {
		console.log("Complete : %o", e);
		$("#wait").slideUp("normal", iMake.showEditor);
	}

};
