var swfu;
var setTimeVars_runCount	=	0;

var	original_start_m		=	0;
var	original_start_s		=	0;
var	original_start_ss		=	0;
var	original_end_m			=	0;
var	original_end_s			=	0;
var	original_end_ss			=	0;


$(document).ready(function() {
	
	var times_used	=	parseInt($.cookie('times_used'));
	if (!times_used)	times_used=0;
	
	var settings = {
		flash_url : "/swfupload/Flash/swfupload.swf",
		upload_url: "../../upload.php",	// Relative to the SWF file
		file_size_limit : "100 MB",
		file_types : "*.mp3",
		file_types_description : "Файлы mp3",
		file_upload_limit : 100,
		file_queue_limit : 1,
		file_post_name : "userfile",

		debug: false,

		// Button settings
		button_image_url: "../../i/button_loadmp3_"+lang+".gif",	// Relative to the Flash file
		button_width: "165",
		button_height: "45",
		button_placeholder_id: "spanButtonPlaceHolder",
		button_cursor : SWFUpload.CURSOR.HAND,
		
		moving_average_history_size: 40,
		
		file_queued_handler : fileQueued,
		file_dialog_complete_handler: fileDialogComplete,
		upload_start_handler : uploadStart,
		upload_progress_handler : uploadProgress,
		upload_success_handler : uploadSuccess,
		upload_complete_handler : uploadComplete
	};

	swfu = new SWFUpload(settings); 
	
	$('.text_content').corner('15px;');
	
	
	
	
	
	$("#add_fav").hover(
	  function () {
		  $(this).addClass('no_transparent');
	  },
	  function () {
		  $(this).removeClass('no_transparent');
	  }
	);
	
	$('#button_split').click(function () { 
		times_used+=1;
		$.cookie('times_used',times_used);
		
		/*if (($.cookie('feedback_sent')!=1 && times_used<2) || ($.cookie('feedback_sent')!=1 && times_used==8)) {
			setTimeout("$('#feedback_form').slideDown()",1000);
		}*/
	});


	
    $('#feedback').ajaxForm({
        target: '',
        success:       function(responseText) {
    		
    		$('#feedback_output .status').hide();
    	
    		if (responseText=='ok') {
    			$('#feedback_output .status_ok').show();
    			setTimeout("$('#feedback_form').slideUp()",2000);
    			$.cookie('feedback_sent',1);
    		}
    		else if (responseText=='empty')  {
    			$('#feedback_output .status_empty').show();
    		}
    		else {
    			$('#feedback_output .status_fail').show();
    		}
    	}
    });
    
    
    $('#audiotag_banner').hover(
      function () {
          	$(this).addClass('no_transparent');
        }, 
        function () {
        	$(this).removeClass('no_transparent');
        }
      );


		
});


function CreateBookmarkLink() {

	title = "mp3cut.ru - обрезка mp3 онлайн"; 
	url = "http://www.mp3cut.ru";
	
	if (window.sidebar) { // Mozilla Firefox Bookmark
		window.sidebar.addPanel(title, url,"");
	} else if( window.external ) { // IE Favorite
		window.external.AddFavorite( url, title); }
	else if(window.opera && window.print) { // Opera Hotlist
		return true;
	}
}


function fileQueued(file) {
	$('#loading_filename').text(file['name']);
	$('#original_filename').val(file['name']);
}

function fileDialogComplete() {
	this.startUpload();
	
	$('#info_block').hide();
	$('#progress1').hide();
	$('#progress1_ok').hide();
	$('#progress2').hide();
	$('#progress2_ok').hide();
	$('#button_split').hide();
	$('#button_split_passive').show();
	$('#info_block').addClass('loading_info_block');
	setTimeVars_runCount=0;
	
	$('#flashplayer').html('');
}

function uploadStart(file) {
	$('#info_block').show();
	$('#progress1').show();	
}

function uploadProgress(file, bytesLoaded, bytesTotal) {
	$("#progress1_percent").text(SWFUpload.speed.formatPercent(file.percentUploaded)); 
}

function uploadSuccess(file, serverData) {
	$("#progress1_percent").text("100%");
	$('#progress1_ok').show();
	$('#progress2').show();
	
	$('#server_filename').val(serverData);
	runFlashPlayer(serverData);
}

function uploadComplete(file) {
	
}

// Запустить плеер
function runFlashPlayer(filename) {
	AC_FL_RunContent(
			'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0',
			'width', '792',
			'height', '129',
			'src', 'mp3cut_'+lang,
			'quality', 'high',
			'pluginspage', 'http://www.adobe.com/go/getflashplayer',
			'align', 'middle',
			'play', 'true',
			'loop', 'true',
			'scale', 'showall',
			'wmode', 'transparent',
			'devicefont', 'false',
			'id', 'mp3cut_'+lang,
			'bgcolor', '#ffffff',
			'name', 'mp3cut_'+lang,
			'menu', 'true',
			'allowFullScreen', 'false',
			'allowScriptAccess','sameDomain',
			'movie', 'mp3cut_'+lang,
			'FlashVars', 'track='+'/upload/'+filename,
			'salign', ''
		);
}

// в плеер загружена mp3
function playerMp3Loaded() {
	$('#progress2_ok').show();
	$('#block_2 .h').removeClass('passive_h');
	$('#info_block').removeClass('loading_info_block');
	
}

function setTimeVars(start_m, start_s, start_ss, end_m, end_s, end_ss) {
	
	if (setTimeVars_runCount==0) {
		original_start_m		=	start_m;
		original_start_s		=	start_s;
		original_start_ss		=	start_ss;
		original_end_m			=	end_m;
		original_end_s			=	end_s;
		original_end_ss			=	end_ss;
	}
	setTimeVars_runCount++;
	
	$('#start_m').val(start_m);
	$('#start_s').val(start_s);
	$('#start_ss').val(start_ss);
	
	$('#end_m').val(end_m);
	$('#end_s').val(end_s);
	$('#end_ss').val(end_ss);
	
	if (	original_start_m==start_m	&&	original_start_s==start_s	&&	original_start_ss==start_ss	&&
			original_end_m==end_m	&&	original_end_s==end_s	&&	original_end_ss==end_ss		) {
		$('#button_split').hide();
		$('#button_split_passive').show();
	}
	else {
		$('#button_split').show();
		$('#button_split_passive').hide();
		
	}
}

function mp3Loaded(percent) {
	$("#progress2_percent").text(percent+'%');
}



//v1.7
//Flash Player Version Detection
//Detect Client Browser type
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function ControlVersion()
{
	var version;
	var axo;
	var e;
	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry
	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}
	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "WIN 6,0,21,0";
			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";
			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}
	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}
	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}
	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}


//JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");			
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}	
	return flashVer;
}


//When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];
      	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}
function AC_AddExtension(src, ext)
{
	if (src.indexOf('?') != -1)
	  return src.replace(/\?/, ext+'?'); 
	else
	  return src + ext;
}


function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
	var str = '';
	if (isIE && isWin && !isOpera)
	{
	  str += '<object ';
	  for (var i in objAttrs)
	  {
	    str += i + '="' + objAttrs[i] + '" ';
	  }
	  str += '>';
	  for (var i in params)
	  {
	    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
	  }
	  str += '</object>';
	}
	else
	{
	  str += '<embed ';
	  for (var i in embedAttrs)
	  {
	    str += i + '="' + embedAttrs[i] + '" ';
	  }
	  str += '> </embed>';
	}
	
	//alert(str);
	$('#flashplayer').html(str);
}

function AC_FL_RunContent(){
	var ret = 
	  AC_GetArgs
	  (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
	   , "application/x-shockwave-flash"
	  );
	AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
	var ret = 
	  AC_GetArgs
	  (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
	   , null
	  );
	AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}


function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
	var ret = new Object();
	ret.embedAttrs = new Object();
	ret.params = new Object();
	ret.objAttrs = new Object();
	for (var i=0; i < args.length; i=i+2){
	  var currArg = args[i].toLowerCase();    
	  switch (currArg){	
	    case "classid":
	      break;
	    case "pluginspage":
	      ret.embedAttrs[args[i]] = args[i+1];
	      break;
	    case "src":
	    case "movie":	
	      args[i+1] = AC_AddExtension(args[i+1], ext);
	      ret.embedAttrs["src"] = args[i+1];
	      ret.params[srcParamName] = args[i+1];
	      break;
	    case "onafterupdate":
	    case "onbeforeupdate":
	    case "onblur":
	    case "oncellchange":
	    case "onclick":
	    case "ondblclick":
	    case "ondrag":
	    case "ondragend":
	    case "ondragenter":
	    case "ondragleave":
	    case "ondragover":
	    case "ondrop":
	    case "onfinish":
	    case "onfocus":
	    case "onhelp":
	    case "onmousedown":
	    case "onmouseup":
	    case "onmouseover":
	    case "onmousemove":
	    case "onmouseout":
	    case "onkeypress":
	    case "onkeydown":
	    case "onkeyup":
	    case "onload":
	    case "onlosecapture":
	    case "onpropertychange":
	    case "onreadystatechange":
	    case "onrowsdelete":
	    case "onrowenter":
	    case "onrowexit":
	    case "onrowsinserted":
	    case "onstart":
	    case "onscroll":
	    case "onbeforeeditfocus":
	    case "onactivate":
	    case "onbeforedeactivate":
	    case "ondeactivate":
	    case "type":
	    case "codebase":
	    case "id":
	      ret.objAttrs[args[i]] = args[i+1];
	      break;
	    case "width":
	    case "height":
	    case "align":
	    case "vspace": 
	    case "hspace":
	    case "class":
	    case "title":
	    case "accesskey":
	    case "name":
	    case "tabindex":
	      ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
	      break;
	    default:
	      ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
	  }
	}
	ret.objAttrs["classid"] = classid;
	if (mimeType) ret.embedAttrs["type"] = mimeType;
	return ret;
}