/*if (document.location.hash.length>1) {
	var re =  new RegExp(/\bvote\b/);
	if ((document.location.href).match(re)) {
		document.location.href='/vote/' + document.location.hash.substr(1);
	} else {
		document.location.href= '/' + document.location.hash.substr(1);
	}
}*/
if (document.location.hash.length>1) {
	var re =  new RegExp(/\/s\//);
	if ((document.location.pathname).match(re)) {
		document.location.href='/' + document.location.hash;
	} else { 
		var re =  new RegExp(/#s\//);
		if ((document.location.hash).match(re)) {
			var playIt=document.location.hash.substr(3);
		}else{
			document.location.href= '/' + document.location.hash.substr(1);
		}
	}
}
var fizy = new Class({
	//Implements: Log,
	initialize: function(access,theme,state,youtube,metacafe,grooveshark){
		this.access = access;
		this.theme = theme;
		this.state = state;
		this.video = 0;
		this.dvideo = 0;
		this.shuffle = 0;
		this.playall = 0;
		this.scrollbar=false;
		this.autocompleterObj=false;
		this.vote=false;
		this.playList = [];
		this.ccPlayList = [];
		this.yt = youtube;
		this.mt = metacafe;
		this.gs = grooveshark; //grooveshark
		if(Browser.Engine.trident) { this.IE=1; }
		if(this.IE && Browser.Engine.version == 4) { this.IE6=1; }
		return 0;
	},
/*--------------------------------------------------*/
//	FOOTER
/*--------------------------------------------------*/
	footer: function(PID){
		this.PID = PID; // default playList ID
		this.order = [];
		this.player('build');
		this.listPL();
		return 0;
	},
	desktopfooter: function(PID){
		this.PID = PID; // default playList ID
		this.order = [];
		this.player('builddesktop');
		this.listPL();
		return 0;
	},
/*--------------------------------------------------*/
//	LOADER
/*--------------------------------------------------*/
	loader: function(ID,color){
		if (color) return new Element('img',{'id':'loader'+ID,'class':'loader pSong','src':'/themes/'+fizy.theme+'/images/loader.gif'});
		else return new Element('img',{'id':'loader'+ID,'class':'loader pSong','src':'/themes/'+fizy.theme+'/images/loaderBlack.gif'});
	},
/*--------------------------------------------------*/
//	fizyBOX
/*--------------------------------------------------*/
	box: function(title,inner,loader,w,h,overlay,focus,enter){
		if($('fizyOverlay')){ fizy.closeBox(); }
		if(fizy.video) fizy.player('video',true);
		title = title?title:'&nbsp;';
		w = w?w:510;
		h = h?h:440;
		//if IE6
		if(fizy.IE6){
			window.scrollTo(0, 0);
			$('fizy').setStyle('overflow','hidden');
			var c = window.getCoordinates();
			new Element('div',{'id':'fizyOverlay','styles':{'opacity':(overlay?overlay:.8),'width':c.width,'height':c.height},'events':{
				'click':function(){ fizy.closeBox(); }
			}}).inject($(document.body));
		} else {
			new Element('div',{'id':'fizyOverlay','styles':{'opacity':(overlay?overlay:.8)},'events':{
				'click':function(){ fizy.closeBox(); }
			}}).inject($(document.body));
		}
		var b = new Element('div',{'id':'fizyBOX','styles':{
			'margin-top':-h/2,'margin-left':-w/2,'width':w,'height':h
			,'display':loader?'none':'block'
		}}).inject($(document.body));
		if(h==306){
			new Element('img',{'src':'/advertisement/turkcell/cross.png','class':'close','alt':lang.close,'events':{
				'click':function(){ fizy.closeBox(); }
			}}).inject(new Element('div',{'class':'header2','html':title}).inject(b),'top');
			new Element('a',{'id':'temp_a','styles':{'display':'none'} }).inject(b);
			new Element('img',{'src':'/advertisement/turkcell/logo_cd.gif','class':'bottom','alt':'cd_logo','events':{
				'click':function(){ fizy.go_turkcell($('temp_a').get('href')); }
			}}).inject(new Element('div',{'class':'bottom'}).inject(b),'bottom');
		}else{
			new Element('span',{'class':'close','text':lang.close,'events':{
				'click':function(){ fizy.closeBox(); }
			}}).inject(new Element('div',{'class':'header','html':title}).inject(b),'top');
		}
		if(loader){
			inner.inject(new Element('div',{'id':'fizyContainer'}).inject(b));
		} else new Element('div',{'id':'fizyContainer','html':inner}).inject(b);
		new Element('div',{'id':'tst','styles':{'display':'none'},'html':inner,'events':{
				'click':function(){ fizy.closeBox(); }
			}}).inject(b);
		if(fizy.IE)
		$(document.html).addEvent('keydown',function(e){ if(e.key=='esc' || (enter && e.key=='enter')) fizy.closeBox(); });
		else
		$(window).addEvent('keydown',function(e){ if(e.key=='esc' || (enter && e.key=='enter')) fizy.closeBox(); });
		if(focus) $(focus).focus();
		return 0;
	},
	assign_link : function(id,link){
		$(id).set('href',link);
	},
	go_turkcell : function(link){
		window.open(link);
		new Request.JSON({}).post('/fizy::click_statistic','link='+escape(link));
	},
	setBox: function(){
		$(document.body).getElements('a.fizybox').each(function(e){
			e.addEvent('click',function(){
				if(e.get('title')=="axess")
					fizy.boxr("/"+e.get('title'),510,500);
				else
					fizy.boxr("/"+e.get('title'));
			});
			e.set('title',e.get('href').substr(1));
			e.erase('href');
			e.setStyle('cursor','pointer');
		});
		return 0;
	},
	boxr: function(href,w,h){
		var content = new IFrame({
		    src: href, 'frameborder': 0, 'framescrool': 'no',
		    styles: { 'border':'0' },
		    events: { load: function(){ $('fizyBOX').setStyle('display','block'); }}
		});
		fizy.box('', content, 1, w, h);
	},
	closeBox: function(){
		if($('fizyOverlay'))$('fizyOverlay').destroy();
		if($('fizyBOX'))$('fizyBOX').destroy();
		$(window).removeEvents('click');
		$(window).removeEvents('keydown');
		$(document.html).removeEvents('click');
		$(document.html).removeEvents('keydown');
		if(fizy.video) fizy.player('video');
		if($('video')) fizy.player('hotkeys');
		//$('fizy').setStyle('overflow','auto');
	},
/*---------------------------------_trackEvent('player', 'play');-----------------*/
//	ALERT
/*--------------------------------------------------*/
	alert: function(text,loader){
		if(loader) loader.destroy();
		var inner = '<table class="alert" cellpadding="0" cellspacing="0" border="0" height="100"><tr><td style="padding:13px;">'+text+'</td></tr></table>';
		if (text.indexOf('flash') != -1) {
			fizy.box('', inner, 0, 320, 100, .6, null, 1);
			var al = $$('.alert');
			al[0].setStyle('color', '#000');
		} else {
			fizy.box('', inner, 0, 400, 100, .6, null, 1);
		}
		return 0;
	},
/*--------------------------------------------------*/
//	CONFIRM
/*--------------------------------------------------*/
	confirm: function(text,func){
		var inner = '<table class="confirm" cellpadding="0" cellspacing="0" border="0" height="100"><tr><td style="padding:13px;"><br />'+text+'</td></tr>'
			+'<tr><td class="buttons">'
			+'<input class="button cancel" onclick="fizy.closeBox();" value="'+lang.cancel+'" type="button" tabindex="2" />'
			+'<input id="approve" class="button approve" onclick="fizy.closeBox(); '+func+';" value="'+lang.approve+'" type="button" tabindex="1" />'
			+'</td></tr></table>';
		fizy.box('', inner, 0, 400, 100, .6, 'approve');
		return 0;
	},
/*--------------------------------------------------*/
//	SORTABLE
/*--------------------------------------------------*/
	sortable: function(ID,handle){
		return new Sortables(ID, {
			handle: handle,	revert: 1, constrain: 1, clone: {opacity: .6}, opacity: .2,
			onStart: function(){
				fizy.order = this.serialize().filter(function(item){ return item != null; });
			},
			onComplete: function(e){
				e.highlight('#333','#000');
				var order = this.serialize().join(',');
				if(fizy.order.join(',')!=order && fizy.order.length > 0){
					new Request.JSON().post('/fizy::orderSong','PID='+fizy.PID+'&order='+order);
					//pageTracker._trackPageview('/fizy::orderSong::' + fizy.PID);
					fizy.adHit();
					if (pageTracker) pageTracker._trackEvent('playlist', 'order');
				}
			}
		});
	},
/*--------------------------------------------------*/
//	SEARCH
/*--------------------------------------------------*/
	search: function(p){
		if($('searchQuery').get('value')){
			/*if ( !fizy.access && !$('ad_120x600')){
				location.href = '/q/' + $('searchQuery').get('value').toLowerCase();
				return false;
			}*/
			// user
			if ( arguments.length > 1 && arguments[ 1 ]) {
				fizy.setType( "all", 0 );
				fizy.setQuality( "all", 0 );
				fizy.setDuration( "all", 0 );
			}
			var loader = fizy.loader(1,1).inject($('results').empty());
			if(fizy.searchRequest) fizy.searchRequest.cancel();
			fizy.searchRequest = new Request.JSON({
				onComplete: function(r){
					loader.destroy();
					if(r){
						if (r.noad != true) {
							//ADVERTISEMENT
							if(advertisement){
								var div = new Element('div',{'class':'item advertisement','html':advertisement}).inject('results');
								new Element('span',{'class':'clear'}).inject('results');
							}
							//-------------
						}
						if(r.error) {
							fizy.alert(r.error);
						} else {
							if (r.results) {
								$( 'playall-button-container' ).setStyle( 'display', '' );
								var q_string = "q/" + $( 'searchQuery' ).get( 'value' ).replace( /\ /g, "+" );
								q_string = (p>0) ? q_string+"/"+p : q_string;
								if ( document.location.pathname.substr(1) == q_string ) {
									document.location.hash = "";
								} else {
									document.location.href = '#' + q_string;
								}
								r.results.each(function(i,index){
									if (i.title) {
										var div = new Element('div',{'class':'item','id': 'r_' + i.ID}).inject('results');
										new Element('a',{'class':'song','html':'['+fizy.formatTime(i.duration)+'] '+i.title,'events':{
											'click':function(e) {
												fizy.player('play',i);
											}
										}}).inject(div);
										new Element('a',{'class':'add','text':'+','events':{
											'click':function(e) {
												if ( fizy.access ) {
													fizy.addSong(i.ID);
												} else {
													$( "signup_button" ).fireEvent( "click" );
												}
											}
										}}).inject(div);
										if(i.turkcell_code){
											new Element('img',{'class':'phone','src':'/advertisement/turkcell/icon_on.gif',
												'events':{ 'click':function(e){ 
														fizy.boxr("/turkcell/"+i.ID+"/"+$('searchQuery').get('value').toLowerCase()+"/"+(index+1)+"/"+uid+"/false",428,306);
														document.location.href='#c/' + i.ID;
													},
													'mouseenter': function(e) {
														this.setProperty('src', '/advertisement/turkcell/icon_off.gif');
													},
													'mouseleave': function(e) {
														this.setProperty('src', '/advertisement/turkcell/icon_on.gif');
													}
												}
											}).inject(div);
										}
										new Element('span',{'class':'clear'}).inject(div);
										new Element('span',{'class':'clear'}).inject('results');
									}
								});
							} else {
								$( 'playall-button-container' ).setStyle( 'display', 'none' );
							}
							if ( fizy.playing )
								fizy.activateListItem( fizy.playing.ID );
						}
						// close video and settings
						if (r.pagination) {
							var pagebr = new Element('br').inject('results');
							var pagediv = new Element('div', {'class':'item'}).inject('results');
							new Element('span', {'html':r.pagination}).inject(pagediv);
						}
						$('fzPlayer').removeClass('video');
					} else {
						//ADVERTISEMENT
						if(advertisement){
							var div = new Element('div',{'class':'item advertisement','html':advertisement}).inject('results');
							new Element('span',{'class':'clear'}).inject('results');
						}
						//-------------
					}
					fizy.adHit();
					if (pageTracker) pageTracker._trackPageview('/?q=' + $('searchQuery').get('value'));
					if($('ad_120x600')){
						$('ad_120x600').set('html','<iframe id="myframe"  width=160 height=600 src="http://fizy.com/advertisement/ad_120x600.php" scrolling="no" frameborder="0"></iframe>');
					}
				}
			}).post('/search.php','query='+ ($('searchQuery').get('value').toLowerCase()).replace('&', '%26') + '&p=' + p + '&t=' + $( "s_type" ).get( "value" ) + '&q=' + $( "s_quality" ).get( "value" ) + "&d=" + $( "s_duration").get( "value" ) + '&glx=' + Math.random());
			//pageTracker._trackPageview('/search::' + $('searchQuery').get('value'));
			
		}
	},
	playAll: function(p) {
		var plist = [];
		var list = $$( '#results .item' );
		for ( i = 0; i < list.length; i++ ) {
			var sid = list[i].id.replace( /r\_/g, "" );
			if ( sid ) {
				plist.push( sid );
			}
		}
		fizy.playall = 1;
		fizy.playAllList = plist;
		fizy.player('play',{'ID':fizy.playAllList[0],'pLContinue':true, 'playall':true});
	},
	dsearch: function(p){
		if($('dsearchQuery').get('value')){
				// user
				var loader = fizy.loader(1,1).inject($('results').empty());
				if(fizy.searchRequest) fizy.searchRequest.cancel();
				fizy.searchRequest = new Request.JSON({
					onComplete: function(r){
						loader.destroy();
						//ADVERTISEMENT
						if(advertisement){
							var div = new Element('div',{'class':'item advertisement','html':advertisement}).inject('results');
							new Element('span',{'class':'clear'}).inject('results');
						}
						//-------------
						if(r){
							if(r.error) fizy.alert(r.error);
							else r.results.each(function(i){
								if (i.title) {
									var div = new Element('div',{'class':'item'}).inject('results');
									new Element('a',{'class':'song','html':'['+fizy.formatTime(i.duration)+'] '+i.title,'events':{
										'click':function(e) {
											fizy.player('play',i);
										}
									}}).inject(div);
									new Element('span',{'class':'clear'}).inject(div);
									new Element('span',{'class':'clear'}).inject('results');
								}
							});
							// close video and settings
							var cl;
							if (r.pagination) {
								var pagebr = new Element('br').inject('results');
								var pagediv = new Element('div', {'class':'item'}).inject('results');
								new Element('span', {'class':cl, 'html':r.pagination}).inject(pagediv);
							}
							$('fzdPlayer').removeClass('video');
						}
						fizy.adHit();
						if (pageTracker) pageTracker._trackPageview('/?q=' + $('dsearchQuery').get('value'));
					}
				}).post('/search.php','query='+ ($('dsearchQuery').get('value').toLowerCase()).replace('&', '%26') + '&p=' + p + '&glx=' + Math.random() + '&m=1');
				//pageTracker._trackPageview('/search::' + $('searchQuery').get('value'));
		}
	},
/*--------------------------------------------------*/
//	PLAYER
/*--------------------------------------------------*/
	
	player: function(cmd,a) {
		switch(cmd){
			case 'build':
				//if(Browser.Plugins.Flash.version<9){ fizy.alert(lang.flashPlayerVersion); return; }
				if(!$('video'))
				if (Browser.Plugins.Flash.version > 0 ) {
					new Swiff('http://apiplayer2.fizy.org/lib/player/fizyPlay0607.swf', {
						id: 'video',
						width: 450,
						height: 20,
						container: 'fzVideo',
						params: {
							allowFullScreen: 'true',
							scale: 'noborder',
							align: 'b',
							wMode: 'window',
							bgcolor: '#000000',
							allowscriptaccess: 'always'
						},
						vars: {
							'player.start.paused': 'false',
							'player.start.buffering': 'true',
							'player.start.zoom': 'fitmax',
							'player.fullscreen.zoomOnExit': 'fitmax',
							'player.style.barType': 'vlike.dark'
						}
					});
				}else {
					//Utils.showAllFlashAltContent(true);  
				}
			break;
			case 'builddesktop':
				//if(Browser.Plugins.Flash.version<11){ fizy.alert(lang.flashPlayerVersion); return; }
				if(!$('dvideo'))
				new Swiff('http://apiplayer.fizy.org/lib/player/desktop.swf' ,{
				    id: 'dvideo',
				    width: 320,
				    height: 20,
				    container: 'fzdVideo',
				    params: {
				        allowFullScreen: 'true',
				        scale: 'noborder',
				        align: 'b',
				        wMode: 'window'
				    }
				});
			break;
			case 'ready':
				fizy.player('playingReady');
				if ($('video')) $('video').set('spectrum',{'spectrumcolor':'cccccc'});
				if ($('dvideo')) $('dvideo').set('spectrum',{'spectrumcolor':'cccccc'});
				fizy.autoplay = 1;
				if( song.ID ) 
					fizy.player('play',song);
				else if(typeof playIt != "undefined" ){
					fizy.player('playById',playIt);
				}
				fizy.player('hotkeys');
			break;
			case 'playingReady':
				fizy.playerReady = 1;
				//fizy.log('Log: player ready');
			break;
			case 'replay':
				//console.log(fizy);
				if(fizy.playReq) fizy.playReq.cancel();
				fizy.player('play', fizy.playing);
			break;
			case 'playById':
				var s = {};
				s.ID = a;
				fizy.player( 'play', s );
				return false;
			break;
			case 'play':
				// if(fizy.playerReady) fizy.playerReady = 0; else { return; }
				if(fizy.playReq) fizy.playReq.cancel();
                if(!fizy.playing)
                	repeats = false;
                else {
                	if ( fizy.playing.ID == a.ID )
                		repeats = true;
                	else
                		repeats = false;
                }
				fizy.playListContinue = a.pLContinue; // continue from playlist  true / false
				fizy.playall = a.playall;
				if ( ! repeats ) {
					fizy.deactivateListItems();
					fizy.loadingListItem( a.ID );
				}
                fizy.playReq = new Request.JSON({
					onRequest: function(s){
                		// setTimeout('fizy.playReq.cancel();',10000);
					},
					onCancel: function(s){
						fizy.player('playingReady');
						fizy.deactivateListItems();
					},
					onComplete: function(s){
				
                        if(s){
                        	if (s.error == 'noCountry') {
                        		fizy.alert(lang.noCountry);
                        		fizy.player('playingReady');
                        	} else {
                        		
                        		if ( ! repeats ) {
                        			fizy.activateListItem( a.ID );
                        		}
                        		fizy.playing = s;
	                            if($('footer').hasClass('close')&&!fizy.IE){
	                                $('footer').fade('hide');
	                                $('footer').removeClass('close');
	                            }
	                            if ($('fzPlayer')) $('fzPlayer').removeClass('close');
	                            if ($('fzdPlayer')) $('fzdPlayer').removeClass('close');
	                            $('footer').fade('in');
	                            //playing icon
	                            if($('songs')) $('songs').getElements('div.pSong').each(function(s){ s.removeClass('playing'); });
	                            if ((fizy.playing) && ($('song'+fizy.playing.ID)))  $('song'+fizy.playing.ID).getParent().addClass('playing');
	                            if($('results')) $('results').getElements('div.item').each(function(s){ s.removeClass('playing'); });
	                            if ((fizy.playing) && ($('item'+fizy.playing.ID)))  $('item'+fizy.playing.ID).addClass('playing');
								// playlist youtube item check
								if(s.provider=='youtube' && !fizy.yt) {
									fizy.player('playingReady');
									fizy.player('next');
									return true;
								}else if(s.provider=='metacafe' && !fizy.mt){
									fizy.player('playingReady');
									fizy.player('next');
									return true;
								}
								if ((!fizy.access) && (s.provider == 'youtube') && (!$('fzPlayer').hasClass('video'))) {
									$('fzPlayer').toggleClass('video');
								}
								try {
									if ($('video')) $('video').set('load',s);
								} catch ( e ) {
									// console.log( e );
								}
								try {
									if ($('dvideo')) $('dvideo').set('load',s);
			                    } catch ( e ) {
									// console.log( "2" + e );
								}
	                            $('playingSong').set('html',lang.nowPlaying + s.title);
	                            document.title = unescape(s.title.replace('&amp;', '&').replace('&quot;', '"').replace('&#039;', '\'')) + ' / fizy.';
	                            $('provider').set('src','/themes/'+fizy.theme+'/images/providers/'+s.provider+'.gif?v2');
								$('provider').setStyle("cursor", "auto");
								$('provider').removeEvents('click');
								fizy.setSlider(a);
								if(s.provider == 'soundcloud'){	
									$('provider').setStyle("cursor", "pointer");
									$('provider').addEvent('click', function(){window.open ('/fizy::goToPage::'+s.ID);});
								}else if(s.provider == "youtube" && !fizy.video){
									fizy.player('video');
								}else if(s.provider != "youtube" && fizy.video){
									fizy.player('video');
								}
                        	}
                        } else {	
                        	fizy.deactivateListItems();
                        	fizy.player('playingReady');
                        }
                   
                    }
                }).post('/fizy::getSong','SID='+a.ID+'&NL=true');
				if (!fizy.autoplay) {
					fizy.adHit();
					if (pageTracker) pageTracker._trackPageview('/fizy::getSong::' + a.ID);
				} else fizy.autoplay = 0;
				 
			break;
			case 'stop':
				//if($('songs')) $('songs').getElements('li').each(function(s){ s.removeClass('playing') });
			break;
			case 'next':
				if(!fizy.playing) return;
				if (pageTracker) pageTracker._trackEvent('player', 'next');
                if(fizy.state==1){
                    if ( fizy.playall ) {
                  		var pnext = [];
                  		var gnext = -1;
                  		if ( fizy.shuffle ) {
                  			var gnext = Math.round(Math.random()*(fizy.playAllList.length)+1);
                  		} else {
	                  		fizy.playAllList.each(function (i, c) {
	    	            			if (i == fizy.playing.ID) {
	    	            				if (c != (fizy.playAllList.length-1)) {
	          	        				gnext = c;
	    	            				}
	            	    			}
	                  		});
                  		}
            			pnext = fizy.playAllList[(gnext+1)];
    					fizy.player('play',{'ID':pnext,'playall':true,'pLContinue':true});
                    } else {
                    	if ( fizy.shuffle ) {
                    		var gnext = $$( "#songs div.pSong" ).getRandom().id;
                    		fizy.player('play',{'ID':gnext,'pLContinue':true});
                  		} else {
                  			if($('song'+fizy.playing.ID)){
								if($('song'+fizy.playing.ID).getParent().getNext()){ 
									$('song'+fizy.playing.ID).getParent().getNext().getFirst().getNext().fireEvent('click');
								}else if($$( "#songs div.pSong" )[0]){ 
									$$( "#songs div.pSong" )[0].getFirst().getNext().fireEvent('click'); 
								}
                        	} else if($('songs') && $$( "#songs div.pSong" )[0]){ 
								$$( "#songs div.pSong" )[0].getFirst().getNext().fireEvent('click'); 
							} //else { $('video').set('stop',{}); }
                  		}
                  	}
                } else {
                    //fizy.log(fizy.playing.ID);
                    if($('item'+fizy.playing.ID)){
                        if($('item'+fizy.playing.ID).getNext().getNext()){ $('item'+fizy.playing.ID).getNext().getNext().getFirst().fireEvent('click'); }
                    }
                }
				fizy.adHit();
			break;
			case 'pre':
				if(!fizy.playing) return;
				fizy.adHit();
				if (pageTracker) pageTracker._trackEvent('player', 'previous');
				if(fizy.shuffle){
					var randomSong = $$( "#songs div.pSong" ).getRandom();
					if(randomSong){
						$(randomSong.id).getFirst().getNext().fireEvent('click');
					}
				} else if ( fizy.playall ) {
              		var pprev = [];
              		var gprev = 1;
              		fizy.playAllList.each(function (i, c) {
	            			if (i == fizy.playing.ID) {
	            				if (c != (fizy.playAllList.length-1)) {
	            					gprev = c;
	            				}
        	    			}
              		});
        			pprev = fizy.playAllList[(gprev-1)];
					fizy.player('play',{'ID':pprev,'playall':true,'pLContinue':true});
            	} else {
					if($('song'+fizy.playing.ID)){
						if($('song'+fizy.playing.ID).getParent().getPrevious()){ $('song'+fizy.playing.ID).getParent().getPrevious().getFirst().getNext().fireEvent('click'); }
						else if($('songs').getElement('.paddingEl') && $('songs').getElement('.paddingEl').getLast().getFirst()){ $('songs').getElement('.paddingEl').getLast().getFirst().getNext().fireEvent('click'); }
					}
				}
			break;
			case 'completed':
			case 'complated':
				fizy.adHit();
				if (pageTracker) pageTracker._trackEvent('player', 'completed');
				new Request.JSON({
					onRequest: function(s){ setTimeout('fizy.playReq.cancel();',10000);	},
					onComplete: function(s){ }
				}).post('/fizy::completed','SID='+fizy.playing.ID);
				if(fizy.vote){
					if($(fizy.playing.ID) && $(fizy.playing.ID).getParent().getNext().getNext()){
						$(fizy.playing.ID).getParent().getNext().getNext().getFirst().fireEvent('click'); 
					}else if($('euro_songs').getFirst().getNext().getFirst()){ 
						$('euro_songs').getFirst().getNext().getFirst().fireEvent('click'); 
					}
				}
                if(fizy.playListContinue){
                    if(fizy.state==1){
                    	if(fizy.shuffle){
                            var randomSong = $$( "#songs div.pSong" ).getRandom();
                            if(randomSong){
                                $(randomSong.id).getFirst().getNext().fireEvent('click');
                            }
                        } else if ( fizy.playall ) {
                      		var pnext = [];
                      		var gnext = -1;
                      		fizy.playAllList.each(function (i, c) {
        	            			if (i == fizy.playing.ID) {
        	            				if (c != (fizy.playAllList.length-1)) {
              	        				gnext = c;
        	            				}
                	    			}
                      		});
                			pnext = fizy.playAllList[(gnext+1)];
        					fizy.player('play',{'ID':pnext,'playall':true,'pLContinue':true});
                        } else {
							
                            if($('song'+fizy.playing.ID)){
                                if($('song'+fizy.playing.ID).getParent().getNext()){
									$('song'+fizy.playing.ID).getParent().getNext().getFirst().getNext().fireEvent('click'); 
								}else if( $('songs').getElement('.paddingEl').getFirst()){
									$('songs').getElement('.paddingEl').getFirst().getFirst().getNext().fireEvent('click'); 
								}
                            } else if($('songs').getElement('.paddingEl') && $('songs').getElement('.paddingEl').getFirst().getFirst()){
								$('songs').getElement('.paddingEl').getFirst().getFirst().getNext().fireEvent('click');
							}
                        }
                    } else {
                        if($('item'+fizy.playing.ID)){
                            if($('item'+fizy.playing.ID).getNext().getNext()){
                            	$('item'+fizy.playing.ID).getNext().getNext().getFirst().fireEvent('click');
                            }
                        } 
                    }
                }
			break;
			case 'error':
				fizy.player('playingReady');
				if($('song'+fizy.playing.ID) || fizy.playall){
					fizy.player('next');
				} else { fizy.alert(lang.fileRemoved); }
				//if(a!=150){
					new Request.JSON({ onComplete: function(){ 
						var myCookie = Cookie.read("youtube");
						fizy.yt= (myCookie=="false")?false:true;
						var myCookie = Cookie.read("metacafe");
						fizy.mt= (myCookie=="false")?false:true;
					}}).post('/fizy::errorSong','SID='+fizy.playing.ID);
					fizy.adHit();
					if (pageTracker) pageTracker._trackPageview('/fizy::errorSong::' + fizy.playing.ID);
				//}
			break;
			case 'video':
				$('fzPlayer').toggleClass('video');
				if(!a) fizy.video = $('fzPlayer').hasClass('video');
			break;
			case 'dvideo':
				$('fzdPlayer').toggleClass('dvideo');
				if(!a) fizy.video = $('fzdPlayer').hasClass('dvideo');
			break;
			case 'share':
				if(fizy.playing)
				fizy.boxr('/shareSong/'+fizy.playing.ID);
			break;
			case 'report':
				if(fizy.playing)
					fizy.confirm(lang.reportDesc,'new Request.JSON({ onComplete: function(s){ fizy.alert(s.msg,0); }}).post(\'/fizy::reportSong\',\'SID=\'+fizy.playing.ID); fizy.adHit(); if (pageTracker) pageTracker._trackPageview(\'/fizy::reportSong::\' + fizy.playing.ID);');
			break;
			case 'add':
				if(fizy.playing) {
					if (fizy.access) {
						fizy.addSong(fizy.playing.ID);
					} else {
						fizy.boxr('/signup');
					}
				}
			break;
			case 'embed':
				if(fizy.playing)
				fizy.boxr('/embed/'+fizy.playing.ID,400,100);
			break;
			case 'shuffle':
				fizy.shuffle = fizy.shuffle?0:1;
				fizy.adHit();
				if (pageTracker) pageTracker._trackEvent('player', 'shuffle', fizy.shuffle);
			break;
			case 'hotkeys':
				if(fizy.IE){
					$(document.html).addEvent('keydown', function(e){
						if(e.target.toString() == '[object HTMLHtmlElement]'||e.target.toString() == '[object HTMLBodyElement]'){
						   	if(e.key == 'left') fizy.player('pre');
						   	if(e.key == 'right') fizy.player('next');
						   	if((e.key == 'up') && ((e.shift) || (e.control) || (e.alt))) $('video').set('volume_up');
						   	if((e.key == 'down') && ((e.shift) || (e.control) || (e.alt))) $('video').set('volume_down');
						   	if(e.key == 'space') $('video').set('play_pause');
						}
					});
				} else {
					$(window).addEvent('keydown', function(e){
						if(e.target.toString() == '[object HTMLHtmlElement]'||e.target.toString() == '[object HTMLBodyElement]'){
						   	if(e.key == 'left') fizy.player('pre');
						   	if(e.key == 'right') fizy.player('next');
						   	if((e.key == 'up') && ((e.shift) || (e.control) || (e.alt))) $('video').set('volume_up');
						   	if((e.key == 'down') && ((e.shift) || (e.control) || (e.alt))) $('video').set('volume_down');
						   	if(e.key == 'space') $('video').set('play_pause');
						}
					});
				}
			break;
			case 'playingNow':
			break;
		}
	},
/*--------------------------------------------------*/
//	PLAYLIST
/*--------------------------------------------------*/
	togglePL: function() {
		fizy.player('playingReady');
		$('PL').toggleClass('close');
	},
	song: function(a) {
		var li = new Element('div',{'id':a.ID,'class':'pSong','events':{
			'mouseover':function(e){ this.getElement('.del').setStyle('visibility','visible'); },
			'mouseout':function(e){ this.getElement('.del').setStyle('visibility','hidden'); }
		}});
		fizy.scrollbar ? li.inject($('songs').getElement('.paddingEl')):li.inject($('songs'));
		new Element('label',{'class':'handler','html':'&nbsp;'}).inject(li);
		new Element('span',{'id':'song'+a.ID,'class':'title','html':'['+fizy.formatTime(a.duration)+'] '+a.title,
			'events':{'click':function(){ 
				a.pLContinue = true; fizy.player('play',a);
			}}}).inject(li);
		new Element('span',{'class':'del','text':'x','events':{'click':function(e){
			fizy.removeSong(a.ID); 
		}
		}}).inject(li);
		new Element('span',{'class':'clear'}).inject(li);
		return li;
	},
	addSong: function(songID) {
		if($('footer').hasClass('close')&&!fizy.IE){
			$('footer').fade('hide');
			$('footer').removeClass('close');
		}
		$('PL').removeClass('close');
		$('footer').fade('in');
		if($('song'+songID)) { $('song'+songID).getParent().highlight('#333','#000'); return; }
		var loader = this.loader(1);
		loader.inject($('songs').getElement('.paddingEl'));
		if($('songs').getElement('.error')) var error = $('songs').getElement('.error').dispose();
		fizy.fixHeight();
		fizy.setSlider('bottom');
		new Request.JSON({
			onComplete: function(s){
				if(s.error) { fizy.alert(s.error,loader);  }
				else fizy.songs.addItems(fizy.song(s).highlight('#333','#000').replaces(loader));
				fizy.adHit();
				if (pageTracker) pageTracker._trackPageview('/fizy::addSong::' + songID);
			}
		}).post('/fizy::addSong','PID='+this.PID+'&SID='+songID);
	},
	removeSong: function(songID) {
		$('song'+songID).empty();
		this.loader(1).inject('song'+songID);
		new Request.JSON({
			onComplete: function(s){
				if(!$('song'+s.ID)) return;
				fizy.songs.removeItems($('song'+s.ID).getParent()).destroy();
				fizy.scrollUpdate();
				if(!$$('.pSong').length){
					var err=new Element('div',{'class':'error pSong','text':lang.playlistHasCleared});
					fizy.scrollbar ? err.inject($('songs').getElement('.paddingEl')):err.inject($('songs'));
					fizy.fixHeight(1);
				}else{
					fizy.fixHeight();
				}
				fizy.adHit();
				if (pageTracker) pageTracker._trackPageview('/fizy::removeSong::' + songID);
			}
		}).post('/fizy::removeSong','PID='+this.PID+'&SID='+songID);
	},
	moveSong: function(songID,newPID) {
		$('song'+songID).empty();
		this.loader(1).inject('song'+songID);
		new Request.JSON({
			onComplete: function(s){
				fizy.songs.removeItems($('song'+s.ID).getParent()).destroy();
				if(!$('songs').getElements('div').length)  new Element('div',{'class':'error','text':lang.playlistHasCleared}).inject('songs');
				fizy.adHit();
				if (pageTracker) pageTracker._trackPageview('/fizy::removeSong::' + songID);
			}
		}).post('/fizy::moveSong','nPID='+newPID+'&PID='+this.PID+'&SID='+songID);
	},
	listSong: function(PID,title){
		if($('footer').hasClass('close')&&!fizy.IE){
			$('footer').fade('hide');
			$('footer').removeClass('close');
		}
		//$( "playList" ).scrollTo( 0, 0 );
		this.PID = PID;
		fizy.playingList(PID,title);
		$('playList').empty();
		var songs = new Element('div',{'id':'songs'}).inject('playList');
		fizy.songs = fizy.sortable(songs,'label'); // sortable
		var loader = fizy.loader(1).inject(songs);
		fizy.fixHeight(1);
		if(fizy.listSongRequest) fizy.listSongRequest.cancel();
		fizy.listSongRequest = new Request.JSON({
			noCache: true,
			onComplete: function(r){
				fizy.scrollbar=false;
				
				loader.destroy();
				if(r==null||!r.length){
					new Element('div',{'class':'error pSong','text':lang.noSongsYet}).inject(songs);
					fizy.fixHeight(1);
				}else if(r.error){
				 	new Element('div',{'class':'error pSong','text':r.error}).inject(songs);
					$("playList").animate().tween('height', $('songs').getElement('.error').getSize().y).start(); 
					$("searchSongs") && $("searchSongs").addClass("none");
				} else {
					var adet=r.length;
					fizy.playList = r;
					r.each(function(s,i){
					//ekle
						fizy.songs.addItems(fizy.song(s));
						if ((fizy.playing) && (fizy.playing.ID == s.ID)) $("song" + s.ID).getParent().addClass('playing');
					});
					$('PL').removeClass('close');
					$('footer').fade('in');
					fizy.fixHeight();
				}
				fizy.setScrollbar();
				fizy.adHit();
				if (pageTracker) pageTracker._trackPageview('/fizy::getSongs::' + PID);
			}
		}).post('/fizy::getSongs','self=1&PID='+PID);
	},
	formatTime: function(time) {
		var retVal = '00:00';
		if (time > 0) {
			retVal = '';
			var sec = (Math.floor(time % 60)).toString();
			var min = Math.floor(time/60).toString();
			sec = (sec.length<2) ? '0' + sec:sec;
			min = (min.length<2) ? '0' + min:min;
			min = (min.length>2) ? '99' : min;
			retVal = min + ':' + sec;
		}
		return retVal;
	},
	/*formatTime: function(time) {
		var retVal = '00:00';
		if (time > 0) {
			retVal = '';
			var sec = (Math.floor(time % 60)).toString();
			var min = (Math.floor(time/60) % 60).toString();
			var hou = (Math.floor(time/3600) % 24).toString();
			sec = (sec.length<2)?'0' + sec:sec;
			min = (min.length<2)?'0' + min:min;
			if (parseInt(hou) > 0) {
				retVal = ((hou.length<2)?'0' + hou:hou) + ':';
			}
			retVal += min + ':' + sec;
		}
		return retVal;
	},*/
/*--------------------------------------------------*/
//	PLAYLISTS
/*--------------------------------------------------*/
	noCountry: function() {
		fizy.alert(lang.noCountry);
		fizy.player('playingReady');
	},
	togglePLS: function() {
		$('PLS').toggleClass('close');
	},
	PL: function (ID, title){
		var li = new Element('div',{'id':'pL'+ID,'events':{
			'click':function(){ fizy.listSong(ID,title); },
			'mouseover':function(e){ this.getElement('.del').setStyle('visibility','visible'); },
			'mouseout':function(e){ this.getElement('.del').setStyle('visibility','hidden'); }
		}});
		new Element('span',{'class':'title','html':title}).inject(li);
		new Element('span',{'class':'del','text':'x','events':{'click':function(e){
			e.stop(); fizy.confirm(lang.ruSure,'fizy.deletePL('+ID+')'); }}}).inject(li);
		new Element('span',{'class':'clear'}).inject(li);
		return li;
	},
	createPL: function(name){
		var loader = this.loader(1).inject('lists');
		new Request.JSON({
			onComplete: function(p){
				if(p.error) { fizy.alert(p.error,loader); }
				else {
					var pl = fizy.PL(p.ID,p.title).highlight('#333','#000').replaces(loader);
					$('PLS').removeClass('close');
					pl.fireEvent('click');
				}
				fizy.adHit();
				if (pageTracker) pageTracker._trackPageview('/fizy::newPLaylist::' + name);
			}
		}).post('/fizy::newPlaylist','name='+name);
	},
	duplicatePL: function(name){
		var loader = this.loader(1).inject('lists');
		new Request.JSON({
			onComplete: function(p){
				if(p.error) { fizy.alert(p.error,loader); }
				else {
					var pl = fizy.PL(p.ID,p.title).highlight('#333','#000').replaces(loader);
					$('PLS').removeClass('close');
					pl.fireEvent('click');
				}
				fizy.adHit();
				if (pageTracker) pageTracker._trackPageview('/fizy::copyPlaylist::' + fizy.UPID);
			}
		}).post('/fizy::copyPlaylist','PID='+ fizy.UPID +'&name=' + name);
	},
	lastfmLovedSongsPL: function(name,username){
		if(!username || username=="" || typeof username == "undefined"){
			fizy.alert("empty username is not allowed. please try again.");
			return;
		}
		$('PLS').removeClass('close');
		var loader = this.loader(1).inject('lists');
		new Request.JSON({
			onComplete: function(p){
				if(p.error) { fizy.alert(p.error,loader); }
				else {
					var pl = fizy.PL(p.ID,p.title).highlight('#333','#000').replaces(loader);
					pl.fireEvent('click');
				}
				fizy.adHit();
				if (pageTracker) pageTracker._trackPageview('/fizy::lastfmLovedSongs::' + name);
			}
		}).post('/fizy::lastfmLovedSongs','username='+username+'&name=' + name);
	},
	setPL: function(name){
		//var loader = this.loader(1).inject('lists');
		new Request.JSON({
			onComplete: function(p){
				if(p.error) { fizy.alert(p.error); }
				else {
					var pl = fizy.PL(p.ID,p.title).highlight('#333','#000').replaces($('pL'+fizy.PID));
					$('PLS').removeClass('close');
					//pl.fireEvent('click');
					$('PLname').set('html',lang.currentPlaylist+': '+p.title);
					fizy.PLname = name;
				}
				if (pageTracker) pageTracker._trackPageview('/fizy::renamePLaylist::' + name);
			}
		}).post('/fizy::renamePlaylist','PID='+fizy.PID+'&name='+name);
	},
	newPL: function(){
		var text = '<label>'+lang.name+' &nbsp;</label><input id="playListName" type="text" onkeypress="if(event.keyCode == 13){ fizy.createPL($(\'playListName\').value); fizy.closeBox(); }" />';
		var inner = '<table class="save" cellpadding="0" cellspacing="0" border="0" height="130"><tr><td style="padding:13px;"><br />'+text+'</td></tr>'
			+'<tr><td class="buttons">'
			+'<input class="button cancel" onclick="fizy.closeBox();" value="'+lang.cancel+'" type="button" tabindex="2" />'
			+'<input id="save" class="button save" onclick="fizy.createPL($(\'playListName\').value); fizy.closeBox();" value="'+lang.save+'" type="button" tabindex="1" />'
			+'</td></tr></table>';
		fizy.box('', inner, 0, 400, 130, .6, 'playListName');
		return 0;
	},
	renamePL: function(){
		var text = '<label>'+lang.name+' &nbsp;</label><input id="playListName" type="text" value="'+fizy.PLname+'" onkeypress="if(event.keyCode == 13){ fizy.setPL($(\'playListName\').value); fizy.closeBox(); }" />';
		var inner = '<table class="save" cellpadding="0" cellspacing="0" border="0" height="130"><tr><td style="padding:13px;"><br />'+text+'</td></tr>'
			+'<tr><td class="buttons">'
			+'<input class="button cancel" onclick="fizy.closeBox();" value="'+lang.cancel+'" type="button" tabindex="2" />'
			+'<input id="save" class="button save" onclick="fizy.setPL($(\'playListName\').value); fizy.closeBox();" value="'+lang.save+'" type="button" tabindex="1" />'
			+'</td></tr></table>';
		fizy.box('', inner, 0, 400, 130, .6, 'playListName');
		return 0;
	},
	copyPL: function(title,PID){
        fizy.UPID = PID;
		var text = '<label>'+lang.name+' &nbsp;</label><input id="playListName" type="text" value="'+title+'" onkeypress="if(event.keyCode == 13){ fizy.duplicatePL($(\'playListName\').value); fizy.closeBox(); }" />';
		var inner = '<table class="save" cellpadding="0" cellspacing="0" border="0" height="130"><tr><td style="padding:13px;"><br />'+text+'</td></tr>'
			+'<tr><td class="buttons">'
			+'<input class="button cancel" onclick="fizy.closeBox();" value="'+lang.cancel+'" type="button" tabindex="2" />'
			+'<input id="save" class="button save" onclick="fizy.duplicatePL($(\'playListName\').value); fizy.closeBox();" value="'+lang.save+'" type="button" tabindex="1" />'
			+'</td></tr></table>';
		fizy.box('', inner, 0, 400, 130, .6, 'playListName');
        //fizy.log(fizy.UPID);
		return 0;
	},
	lastfmPL: function(username){
		if(!username || username=="" || typeof username == "undefined"){
			username="fizy_";
		}
		var text2 = '<label>'+'username(lastfm):'+' &nbsp;</label><br/><input id="lastfmName" style="width:300px;" type="text" value="'+username+'" '
					+'onkeypress="if(event.keyCode == 13){ fizy.lastfmLovedSongsPL($(\'playListName\').value,$(\'lastfmName\').value); fizy.closeBox(); }" />';
		var text = '<label>'+lang.name+' &nbsp;</label><br/><input id="playListName" style="width:300px;" type="text" value="lastfm" '
					+'onkeypress="if(event.keyCode == 13){ fizy.lastfmLovedSongsPL($(\'playListName\').value,$(\'lastfmName\').value); fizy.closeBox(); }" />';
		var inner = '<table style="text-align: left;" class="save" cellpadding="0" cellspacing="0" border="0" height="130">'
			+'<tr><td style="padding:13px;"><br />'+text2+'</td></tr>'
			+'<tr><td style="padding:13px;">'+text+'</td></tr>'
			+'<tr><td class="buttons">'
			+'<input class="button cancel" onclick="fizy.closeBox();" value="'+lang.cancel+'" type="button" tabindex="2" />'
			+'<input id="save" class="button save" onclick="fizy.lastfmLovedSongsPL($(\'playListName\').value,$(\'lastfmName\').value); fizy.closeBox();" value="'+lang.save+'" type="button" tabindex="1" />'
			+'</td></tr></table>';
		fizy.box('', inner, 0, 400, 130, .6, 'playListName');
        //fizy.log(fizy.UPID);
		return 0;
	},
	deletePL: function(ID){
		if(fizy.PID == ID) fizy.alert(lang.playlistDeleteAlert);
		else {
			this.loader(1).inject($('pL'+ID).empty());
			new Request.JSON({
				onComplete: function(p){
					if(p.code == 400) fizy.alert(lang.playlistDeleteAlert);
					else {
						if(fizy.PID == p.ID) {
							$('songs').empty();
							new Element('div',{'class':'error','text':lang.playlistHasCleared}).inject('songs');
							fizy.PID = 0;
						}
						$('pL'+p.ID).destroy();
					}
					fizy.adHit();
					if (pageTracker) pageTracker._trackPageview('/fizy::deletePlaylist::' + ID);
				}
			}).post('/fizy::deletePlaylist','PID='+ID);
		}
	},
	listPL: function(){
		// check
		if(fizy.access && fizy.state!=3){
			if($('playLists')) $('playLists').empty();
			new Element('span',{'class':'close','text':lang.close,'events':{'click':function(){ fizy.togglePLS(); }}}).inject(new Element('div',{'class':'header','html':'&nbsp;'}).inject('playLists'),'top');
			new Element('span',{'class':'clear'}).inject('playLists');
			var lists = new Element('div',{'id':'lists'}).inject('playLists');
			new Request.JSON({
				onComplete: function(r){
					if(r){
						if($('footer').hasClass('close')&&!fizy.IE){
							$('footer').fade('hide');
							$('footer').removeClass('close');
						}
						$('footer').fade('in');
						r.each(function(p){
							if(fizy.PID==0) { fizy.PID = p.ID; fizy.PLtitle = p.title; }
							else if(fizy.PID==p.ID) { fizy.PLtitle = p.title; }
							fizy.PL(p.ID,p.title).inject(lists);
						});
						$('PL').removeClass('close');
			            $('PL').setStyle('visibility','visible');
						$('PLS').setStyle('visibility','visible');
						$('footer').fade('in');
					}
					fizy.listSong(fizy.PID,fizy.PLtitle);
					fizy.adHit();
					if (pageTracker) pageTracker._trackPageview('/fizy::getPlaylists');
				}
			}).post('/fizy::getPlaylists');
		} else {
			$('PL').setStyle('visibility','hidden');
			$('PLS').setStyle('visibility','hidden');
		}
	},
	playingList: function(PID,title){
		$('PLname').set('html',lang.currentPlaylist+': '+(PID?title:lang.defaultPlaylist));
		fizy.PLname = title;
		if(!PID) return;
		$('lists').getElements('div').each(function(p){ p.removeClass('playing'); });
		if($('pL'+PID)) $('pL'+PID).addClass('playing');
	},
/*--------------------------------------------------*/
//	CHECK YOUTUBE
/*--------------------------------------------------*/
	youtube: {
		file: new Image(),
		result: new Image(),
		//hosts: new Array('4', '12' ,'20'),
		timer: null,
		flag:true,
		check:function() {
			fizy.youtube.file.src = 'http://img.youtube.com/vi/Nabo1iTcA5w/0.jpg';//'http://www.youtube.com/img/flags/ko_KR.gif';
			fizy.youtube.file.onload = function() {
				if(!fizy.youtube.flag) return;
				fizy.youtube.result.src = '/fizy::youtube::true';
				fizy.adHit();
				if (pageTracker) pageTracker._trackEvent('youtube', 'true');
				fizy.yt = true;
				fizy.youtube.flag=false;
			};
			fizy.youtube.file.onerror = function(){
				fizy.yt = false;
				fizy.youtube.result.src = '/fizy::youtube::false';
				fizy.adHit();
				if (pageTracker) pageTracker._trackEvent('youtube', 'false');
				fizy.youtube.flag=false;
			};
			fizy.youtube.timer = setTimeout('fizy.youtube.stop_waiting()',5000);
		},
		stop_waiting:function(){
			clearTimeout(fizy.youtube.timer);
			fizy.youtube.timer = null;
			if(fizy.youtube.flag)
				fizy.youtube.fail();
		},
		fail:function() {
			fizy.youtube.flag=false;
			clearTimeout(fizy.youtube.timer);
			fizy.youtube.timer = null;
			fizy.youtube.result.src = '/fizy::youtube::false'; 
			fizy.adHit();
			if (pageTracker) pageTracker._trackEvent('youtube', 'false');
			fizy.youtube.file.src = 'http://fizy.com/themes/default/images/fizy.gif';
		}
	},
/*--------------------------------------------------*/
//	CHECK METACAFE
/*--------------------------------------------------*/
	metacafe: {
		file: new Image(),
		result: new Image(),
		//hosts: new Array('4', '12' ,'20'),
		timer: null,
		flag:true,
		check:function() {
			fizy.metacafe.file.src = 'http://s.mcstatic.com/Images/flags/tr.gif';
			fizy.metacafe.file.onload = function() {
				if(!fizy.metacafe.flag) return;
				fizy.metacafe.result.src = '/fizy::metacafe::true';
				fizy.adHit();
				if (pageTracker) pageTracker._trackEvent('metacafe', 'true');
				fizy.mt = true;
				fizy.metacafe.flag=false;
			};
			fizy.metacafe.file.onerror = function(){
				fizy.mt = false;
				fizy.metacafe.result.src = '/fizy::metacafe::false';
				fizy.adHit();
				if (pageTracker) pageTracker._trackEvent('metacafe', 'false');
				fizy.metacafe.flag=false;
			};
			fizy.metacafe.timer = setTimeout('fizy.metacafe.stop_waiting()',15000);
		},
		stop_waiting:function(){
			clearTimeout(fizy.metacafe.timer);
			fizy.metacafe.timer = null;
			if(fizy.metacafe.flag)
				fizy.metacafe.fail();
		},
		fail:function() {
			fizy.metacafe.flag=false;
			clearTimeout(fizy.metacafe.timer);
			fizy.metacafe.timer = null;
			fizy.metacafe.result.src = '/fizy::metacafe::false'; 
			fizy.adHit();
			if (pageTracker) pageTracker._trackEvent('metacafe', 'false');
			fizy.metacafe.file.src = 'http://fizy.com/themes/default/images/fizy.gif';
		}
	},
/*--------------------------------------------------*/
//	CHECK GROOVESHARK	
/*--------------------------------------------------*/
	grooveshark: {
		file: new Image(),
		result: new Image(),
		timer: null,
		flag:true,
		check:function() {
			fizy.grooveshark.file.src = 'http://grooveshark.com/webincludes/logo/Grooveshark_Logo_Vertical.png';
			fizy.grooveshark.file.onload = function() {
				if(!fizy.grooveshark.flag) return;
				fizy.grooveshark.result.src = '/fizy::grooveshark::true';
				fizy.adHit();
				if (pageTracker) pageTracker._trackEvent('grooveshark', 'true');
				fizy.gs = true;
				fizy.grooveshark.flag=false;
			};
			fizy.grooveshark.file.onerror = function(){
				fizy.gs = false;
				fizy.grooveshark.result.src = '/fizy::grooveshark::false';
				fizy.adHit();
				if (pageTracker) pageTracker._trackEvent('grooveshark', 'false');
				fizy.grooveshark.flag=false;
			};
			fizy.grooveshark.timer = setTimeout('fizy.grooveshark.stop_waiting()',15000);
		},
		stop_waiting:function(){
			clearTimeout(fizy.grooveshark.timer);
			fizy.grooveshark.timer = null;
			if(fizy.grooveshark.flag)
				fizy.grooveshark.fail();
		},
		fail:function() {
			fizy.grooveshark.flag=false;
			clearTimeout(fizy.grooveshark.timer);
			fizy.grooveshark.timer = null;
			fizy.grooveshark.result.src = '/fizy::grooveshark::false'; 
			fizy.adHit();
			if (pageTracker) pageTracker._trackEvent('grooveshark', 'false');
			fizy.grooveshark.file.src = 'http://fizy.com/themes/default/images/fizy.gif';
		}
	},
/*--------------------------------------------------*/
//	USER
/*--------------------------------------------------*/
	user: {
		PL: function(PID,title,username){
			$('userPlayLists').getElements('a').each(function(p){ p.removeClass('selected'); });
			if($('uPL'+PID)) $('uPL'+PID).addClass('selected');
            //location.href = '#'+title.replace('\'',"'");
			var loader = fizy.loader(1,1).inject($('results').empty());
			if(fizy.user.PLRequest) fizy.user.PLRequest.cancel();
			fizy.user.PLRequest = new Request.JSON({
				onComplete: function(r){
					loader.destroy();
					if(r){
						if(r.error) fizy.alert(r.error);
						else r.each(function(i){
							var div = new Element('div',{'id':'item'+i.ID,'class':'item'}).inject('results');
							new Element('a',{'class':'song','html':'['+fizy.formatTime(i.duration)+'] '+i.title,'events':{
								'click':function(e) {
                                    i.pLContinue= true;
									fizy.player('play',i);
								}
							}}).inject(div);
							new Element('a',{'class':'add','text':'+','events':{
								'click':function(e) {
									fizy.addSong(i.ID);
								}
							}}).inject(div);
							new Element('span',{'class':'clear'}).inject(div);
							new Element('span',{'class':'clear'}).inject('results');
						});
                        //copy playlist
                        new Element('div',{'id':'dotted'}).inject('results');
                        var div = new Element('div',{'class':'item'}).inject('results');
                        new Element('a',{'text':lang.copyPlaylist,'events':{
                            'click':function(e) {
                                fizy.copyPL(fizy.stripslashes(title),PID);
                            }
                        }}).inject(div);
						// close video and settings
						$('fzPlayer').removeClass('video');
						document.title = username + ' / ' +  title + ' /' + ' fizy.';
					} else new Element('div',{'class':'noSongs item','text':lang.thisListIsEmpty}).inject('results');
					fizy.adHit();
					if (pageTracker) pageTracker._trackPageview('/fizy::getSongs::' + PID);
				}
			}).post('/fizy::getSongs','PID='+PID);
		},
		rss: function(username){
			$('userPlayLists').getElements('a').each(function(p){ p.removeClass('selected'); });
			if($('rss')) $('rss').addClass('selected');
			//location.href = '#rss';
			var loader = fizy.loader(1,1).inject($('results').empty());
			if(fizy.user.PLRequest) fizy.user.PLRequest.cancel();
			fizy.user.PLRequest = new Request.JSON({
				onComplete: function(r){
					loader.destroy();
					if(r){
						if(r.error) fizy.alert(r.error);
						else r.each(function(i){
							var div = new Element('div',{'class':'item'}).inject('results');
							new Element('a',{'class':'song','html':'['+fizy.formatTime(i.duration)+'] '+i.title,'events':{
								'click':function(e) {
									fizy.player('play',i);
								}
							}}).inject(div);
							new Element('a',{'class':'add','text':'+','events':{
								'click':function(e) {
									fizy.addSong(i.ID);
								}
							}}).inject(div);
							new Element('span',{'class':'clear'}).inject('results');
						});
						// close video and settings
						$('fzPlayer').removeClass('video');
					} else new Element('div',{'class':'noSongs','text':lang.thisListIsEmpty}).inject('results');
					fizy.adHit();
					if (pageTracker) pageTracker._trackPageview('/fizy::getRSS::' + username);
				}
			}).post('/fizy::getRSS','username='+username);
		}
	},
	login: function(PID,profile){
		//fizy.log(PID);
		if (document.location.href.match(/\/r\/[0-9a-z]{40}/)) {
			document.location.href = 'http://' + document.location.host;
		} else {
			fizy.access = true;
			if(fizy.state==1){
				fizy.search(0,true);
			}
			if(fizy.state==2){
				profileAjax();
	            if($('results')) $('results').getElement('div.item').getFirst().fireEvent('click');
			}
			if($('joinus')) $('joinus').destroy();
			$('headMenuProfile').set('href',profile);
			$(document).getElements('.user').each(function(e){ e.setStyle('display','inline'); });
			$(document).getElements('.nonuser').each(function(e){ e.setStyle('display','none'); });
			fizy.footer(PID);
		}
	},
	logout: function(){
		location.href = '/';
	},
	adHit: function(){
		if (window.pp_gemius_image) {
			window.pp_gemius_image.src = pp_gemius_host+(new Date()).getTime()+'/rexdot.gif?l=31&id='+pp_gemius_identifier+gemius_parameters();
		}
		/*
		var file = new Image();
		file.src = 'http://nanocluster.reklamz.com:80/nano/ri?r=2845&amp;s=1';
		*/
		//fizy.log('Log: ad hit');
	},
	stripslashes: function(str) {
	    return (str+'').replace(/\\(.?)/g, function (s, n1) {
    	    switch (n1) {
    	    	case '\\':
        	        return '\\';
            	case '0':
                	return '\u0000';
            	case '':
            		return '';
            	default:
                	return n1;
    	    }
	    });
	},
	urldecode : function(str) {
		return decodeURIComponent(str.replace(/\+/g, '%20'));
	},
	loadingListItem : function( id ) {
	},
	/*activateListItem : function( id ) {
		var element_id = "r_" + id;
		
		var s_string = "s/" + id;
		if ( document.location.pathname.substr(1) == s_string ) {
			if ( document.location.hash )
				document.location.hash = '';
		} else {
			if(fizy.state != 2)
				document.location.href = '#s/' + id;
		}

		if ( ! $( element_id ) )
			return;
		
		$( element_id ).addClass( "is_active" );
	},*/
	activateListItem : function( id ) {
		var element_id = "r_" + id;
		
		var s_string = "s/" + id;
		if ( document.location.pathname.substr(1) == s_string ) {
			if ( document.location.hash )
				document.location.hash = '';
		} else {
			if(fizy.state != 2)
				var re =  new RegExp(/\/s\//);
				if ((document.location.pathname).match(re)) 
					document.location.href='/#s/' + id;
				else
					document.location.href = '#s/' + id;
		}

		if ( ! $( element_id ) )
			return;
		
		$( element_id ).addClass( "is_active" );
	},
	deactivateListItems : function() {
		var active = $$( '#results .is_active' );

		if ( active ) {
			$$( active ).each( function( s ) {
				$( s ).removeClass( "is_active" );
			});
		}
	},

	facebook : function() {
		FB.Connect.requireSession( function(){ fizy.facebook_login(); });
	},

	setType : function( type ) {
		$( "c_" + type ).checked = true;
		$( "s_type" ).set( "value", type );
		if ( arguments.length == 1 )
			fizy.search();
	},

	setQuality : function( quality ) {
		$( "q_" + quality ).checked = true;
		$( "s_quality" ).set( "value", quality );
		if ( arguments.length == 1 )
			fizy.search();
	},
	
	setDuration : function ( duration ) {
		$( "d_" + duration ).checked = true;
		$( "s_duration" ).set( "value", duration );
		if ( arguments.length == 1 )
			fizy.search();
	},

	toggleFilter : function() {
		var filterSlide = new Fx.Slide( "filter-box" );
		if ( $( "filter-container" ).getStyle( "display" ) == "none" ) {
			$( "filter-container" ).setStyle( "display", "" );
			filterSlide.hide();
		}
		if ( $( "filter-container" ).getStyle( "padding-top" ) == "0px"	)
			$( "filter-container" ).setStyle( "padding-top", "10px" );
		else
			$( "filter-container" ).setStyle( "padding-top", "0px" );
		
		filterSlide.toggle();
	},

	facebook_login : function() {
		// alert( "here" );
	},
	
	setScrollbar : function() {
		fizy.scrollbar = new MooScroll({selector:'#songs', handleActiveOpacity:1,disabledOpacity:0});
	},
	scrollUpdate : function(){
		if(!fizy.scrollbar) return;
		fizy.scrollbar.refresh();
	},
	setSlider:function(s){
		if(!fizy.scrollbar) return;
		var i=0;
		var adet=$$('.pSong').length;
		var max=$('playList').getElement('.paddingEl').getSize().y - $('songs').getSize().y;
		if(typeof s == 'object'){
			$$('.pSong').each(function(e){
				if(e.id==s.ID){
					if(i<20){
						fizy.scrollbar.setSlider(0);
					}else if(i>(adet-20)){
						fizy.scrollbar.setSlider(max);
					}else{
						var target=Math.round((max*i)/adet)
						fizy.scrollbar.setSlider(target);
					}
				}
				i++;
			});
		}else if(s=='bottom'){
			fizy.scrollbar.setSlider(max);
		}else{
			fizy.scrollbar.setSlider(0); 
		}
		//alert($('song'+s.ID).getParent().getStyle('height').toInt());
	},
	fixHeight:function(adet){
		adet = (typeof adet == "undefined" ) ? $$(".pSong").length : adet;
		if(adet<20){
			var height=adet*20;
			$("playList").setStyle('height', height);
			$("searchSongs") && $("searchSongs").addClass("none");
		}else{
			$("playList").setStyle('height', 400);
			$("searchSongs") && $("searchSongs").removeClass("none");
		}
		fizy.scrollUpdate();
	}
});

//fixMouseWhell.min.js start
(function(a,c){var i=window.document,g="DOMContentLoaded",b=a.navigator.userAgent.toLowerCase();function h(d){if(!document.loaded){document.loaded=true;c((d.type&&d.type==g)?d:{type:g,target:i,eventPhase:0,currentTarget:i,timeStamp:+new Date,eventType:d.type||d})}}if(/webkit\//.test(b)&&v<525.13){(function(){if(/complete|loaded/.test(i.readyState)){h("khtml-poll")}else{setTimeout(arguments.callee,10)}})()}else{if(/msie/.test(b)&&!a.opera){i.attachEvent("onreadystatechange",function(d){if(i.readyState=="complete"){i.detachEvent("on"+d.type,arguments.callee);h(d)}});if(a==top){(function(){try{i.documentElement.doScroll("left")}catch(d){setTimeout(arguments.callee,10);return}h("msie-poll")})()}}else{if(i.addEventListener){i.addEventListener(g,function(d){i.removeEventListener(g,arguments.callee,false);h(d)},false)}else{var e=a.onload;a.onload=function(d){h(d||a.event);if(typeof e=="function"){e(d||a.event)}}}}}})(window,function(){var d=document.getElementsByTagName("div");function a(f){f=f?f:window.event;f.cancelBubble=true;f.cancel=true;f.returnValue=false;if(f.stopPropagation){f.stopPropagation()}if(f.preventDefault){f.preventDefault()}return false}for(var b=0;b<d.length;b++){var c=d[b];if(/mouseWheelFix/.test(c.className)){if(c.addEventListener){c.addEventListener("DOMMouseScroll",a,false);c.addEventListener("mousewheel",a,false)}else{if(c.attachEvent){c.attachEvent("onmousewheel",a)}}}}});
//fixMouseWhell.min.js end