var uplTimer;
function stylechoose(){
    var browser=navigator.appName;
    var b_version=navigator.appVersion;
    var version=parseFloat(b_version);
    if (browser=="Microsoft Internet Explorer" && (version >=4))
    {
        document.write('<link rel="stylesheet" href="mmv3-ie.css" />');
    }
    else
    {
        document.write('<link rel="stylesheet" href="mmv3.css" />');
    }	
}
function tabfix(){
	$$('a.tab').findAll(function(el){
		if (window.location.toString().match(el.href) == el.href) {
			el.down('img').src = el.down('img').src.replace(/_up/i,'_ov');										 						
		}
	});
}
var uiHandler = 
	function(id) {
		$(id).siblings().each(function(el){el.setStyle({display:'none'})});
		$(id).setStyle({display:'block'});
	}
var dropLists = 
    function(obj,dropDown)
    {
		switch (dropDown)
		{
			case true:
				if (obj.down('img').src.endsWith('_up.png'))
				{
					obj.down('img').src = obj.down('img').src.replace(/_up/i,'_down');
				} else {
					obj.down('img').src = obj.down('img').src.replace(/_down/i,'_up');
				}
				$$('dd').findAll(function(el){
					if (el.getStyle('display') != 'none' && obj.up('dt').next('dd') != el && el.up('dl').readAttribute('rev') >= obj.up('dl').readAttribute('rev'))
					{
						el.toggle();
						el.previous('dt').down('img').src = el.previous('dt').down('img').src.replace(/_down/i,'_up');
					}
				});
				obj.up('dt').next('dd').toggle();				
			break;
			case false:
				$$('dd').findAll(function(el){
					if (el.getStyle('display') != 'none' && obj.up('dt').next('dd') != el && el.up('dl').readAttribute('rev') >= obj.up('dl').readAttribute('rev'))
					{
						el.toggle();
						el.previous('dt').down('img').src = el.previous('dt').down('img').src.replace(/_down/i,'_up');
					}
				});
			break;
		}
    };
var userRateHandler = 
	function(vid) {
		if($('userStar')){
		$('userStar').descendants().invoke('observe','click',function(e){
			$(e).stop();														 
			var i=1;
			this.previousSiblings().each(function(el){
				i++;
			});
			var answer = confirm("Rate this media "+i+" stars?");
			if(answer)
			{
				var i=1;				
				this.previousSiblings().each(function(el){
					el.src = el.src.replace(/grey/,'yellow');
					i++;
				});
				this.src = this.src.replace(/grey/,'yellow');
				$('userStar').pulsate({duration:1,from:0.1,pulses:5});
				new Ajax.Request('include/userStar.php',{
					parameters:{rating:i,vid:vid},
					onSuccess:function(transport){
						$('mediaStats').update(transport.responseText);
					}
				});
			}
		});
		}
	}
var catlistHandler = 
	function(id) {
			$(id).down('img').src = $(id).down('img').src.replace(/_up/i,'_down');	
			$(id).up('dt').setStyle({background:'#EEEEFF'});				
			$(id).ancestors().each(function(el){el.setStyle({display:'block'})});
			if($(id).up('dt').next('dd') && $(id).rel == 'category'){
				$(id).up('dt').next('dd').blindDown({duration:0.5});
			}
	};
var popupOverlayHandler = 
	function(action) {
//		switch(action)
//		{
//			case 'show':
//				var pos = $('mediaStats').cumulativeOffset()
//				$('overlayAd').setStyle({left:pos[0],top:(pos[1]-80)});
//				$('overlayProp').setStyle({left:pos[0],top:(pos[1]-80)});
//				$('overlayProp').setStyle({display:'block'});			
//				new Effect.Appear($('overlayAd'),{duration:1.0});
//				var anim2 = setTimeout('popupOverlayHandler("kill")',5000);								
//			break;
//			case 'warn':
//				Effect.Pulsate($('overlayAd'),{from:0.7})
//			break;
//			case 'kill':
//				Effect.Fade($('overlayAd'))
//				$('overlayProp').setStyle({display:'none'});			
//			break;
//		}
	}
var loadPlayer =
    function(pl) {
        var so = new SWFObject('mediaplayer.swf','mpl','468','332','7','#ffffff');
        so.addParam("allowfullscreen","true");
        so.addParam("wmode","transparent");				
        so.addVariable("file",pl);
        so.addVariable("autostart","true");
        so.addVariable("enablejs","true");
        so.addVariable("javascriptid","mpl");
        so.addVariable("width","468");
        so.addVariable("height","332");
        so.addVariable("image","images/player.png");
        so.addVariable("displayheight","312");
        so.addVariable("repeat","list");
        so.addVariable("shuffle","false");
        so.addVariable("backcolor","0x000000");
        so.addVariable("frontcolor","0xcccccc");
        so.addVariable("lightcolor","0x3399cc");
        so.addVariable("screencolor","0x000000");
        so.write('viewPort');
    }
var hLightEl = 
	function(el,cond)
	{
		if (!cond)
		{
			$(el).setStyle({
				border:'1px solid red'
			});
		} else {
			$(el).setStyle({
				border:'1px solid #7f9db9'
			});									
		}
	}
var sanChk = 
	function(el)
	{
		var arr;
		var valid=true;
		arr = $(el).getElements();
		for (i=0;i<arr.length;i++)
		{
			switch(arr[i].type)
			{
				case 'textarea':
					if ($(arr[i].id).getStyle('display') == 'none') {
							if(tinyMCE.activeEditor.getContent() == '')
							{
								valid = false;
								hLightEl(arr[i],false);								
							}														
					} else {
	                                        if (arr[i].disabled == true) {continue;}
        	                                if (arr[i].value.length == 0)
                	                        {
                        	                        valid = false;
	                                                hLightEl(arr[i],false);
        	                                } else {
                	                                hLightEl(arr[i],true);
                        	                }
					}
				break;
				case 'text':
				case 'file':
					if (arr[i].disabled == true) {continue;}
					if (arr[i].value.length == 0)
					{
						valid = false;
						hLightEl(arr[i],false);
					} else {
						hLightEl(arr[i],true);
					}								
				break;
				case 'password':
					if (arr[i].value.length == 0)
					{
						valid = false;
						hLightEl(arr[i],false);
					}
					if (arr[i].name == 'confpass')
					{
						if (arr[i].value != $F('confpass'))
						{
							valid = false;
							hLightEl(arr[i],false);
							hLightEl($('password'),false);							
						}
					}
				break;
				case 'select-one':
					if($F(arr[i]) == -1 && el.id != 'catadd')
					{
						hLightEl(arr[i],false);
						valid = false;
					} else {
						hLightEl(arr[i],true);
					}				
				break;
				case 'checkbox':
					if (arr[i].readAttribute('rel') == 'required' && arr[i].checked == false)
					{
						hLightEl(arr[i],false);
						valid = false;
					} else {
						hLightEl(arr[i],true);
					}					
				break;				
			};
		};
		return(valid);
	};



var uplFlash = 
	function(){
		window.parent.$$('a.tab').findAll(function(el){
			if(el.readAttribute('rel') == 'upload')
			{
				el.pulsate({duration:1,from:0.1,pulses:1});
			}
		});		
	};
var formHandler = 
	function(){
		$$('form').invoke('stopObserving','submit')				
		$$('form').invoke('observe','submit',function(e){
			$(e).stop();
			if(sanChk(this))
			{
				form = this;
				args = this.serialize();
				switch (this.name)
				{
					case 'ulForm':
						uplTimer = setInterval(uplFlash,1000);
						$('uplres').update('<div class="largetext" style="width:488px;color:#000;text-align:center"><p>Your media is being uploaded.<br>Once it is complete, the upload tab will no longer flash.</p><p>Afterwards, return to the upload tab to finalize your media.</p><p>In the meantime, please enjoy the rest of the site!</p></div>');
						this.submit();
					break;
					case 'manageform':
						this.submit();					
					break;
					case 'reg':
						new Ajax.Request('include/interact.php',{
							parameters:args+'&action=reg',
							onSuccess:function(transport){
								if (transport.responseText.length == 0) 
								{
									window.location.reload();
								} else {
									$('res').update(transport.responseText);
									kickHandlers();						
								}
							}
						});					
					break;
					case 'searchform':
						$(this).submit();
					break;
					case 'announce':
						title = escape($F('title'));
				        announcement = escape(tinyMCE.activeEditor.getContent());
						args = "action=announce&title="+title+"&announcement="+announcement;
						new Ajax.Request('interact.php',{
							parameters:args,
							onSuccess:function(transport){
								$(ret).update(transport.responseText);
								kickHandlers();						
							}
						});
					break;
					case 'comm':
					case 'flag':
					case 'mail':
						var args = args.replace(/\w{4,5}_msg=.*/,'')+"body="+escape(tinyMCE.activeEditor.getContent());
						new Ajax.Request('include/interact.php',{
							parameters:args,
							onSuccess:function(transport){
								tinyMCE.activeEditor.setContent('')								
								$(userComments).update(transport.responseText);
								uiHandler('userComments');	
								if (form.name != 'comm')
								{
									alert('Message Sent!');
								}
							}
						});					
					break;
					default:
						new Ajax.Request('include/interact.php',{
							parameters:args,
							onSuccess:function(transport){
								if ($(form).id == 'mainlogin' || $(form).up('div').className == 'sitesettings' || 
$(form).id == 'forgotcred')
								{
									if (transport.responseText.search(/Welcome Back/i) > 0)
									{
										window.location.reload();
									} else {
										$(form).up('div').update(transport.responseText);									
									}
								} else {
									alert(transport.responseText);
								}
								kickHandlers();						
							}
						});
					break;
				}
			}
		});
	};
var internalHandler = 
	function(){
		$$('a.internal').invoke('stopObserving','click')		
		$$('a.internal').invoke('observe','click',function(e){
			$(e).stop();
			var rel = this.readAttribute('rel');
			switch(rel){
				case 'ban':
				case 'feature':
				case 'delete':
				case 'approve':
				case 'banuser':
				case 'featureuser':
					answer = confirm('Are you sure you want to '+rel+'?');
					if(answer){
						new Ajax.Request('include/interact.php',{
							parameters:{action:'modactions',typ:this.readAttribute('rel'),id:this.readAttribute('rev')},
							onSuccess:function(transport){
								alert(transport.responseText);
								window.location.reload();
							}
						});								
					}
				break;
				case 'mod':
					$$('a.tab').findAll(function(el){
						if (el.readAttribute('rel') == 'admin') {
							el.down('img').src = el.down('img').src.replace(/_up/i,'_ov');
						} else {
							el.down('img').src = el.down('img').src.replace(/_ov/i,'_up');
						}
					});					
					new Ajax.Request('include/interact.php',{
						parameters:{action:this.readAttribute('rel'),typ:this.readAttribute('rev')},
						onSuccess:function(transport){
							$('content').update(transport.responseText);
							$('content').setStyle({display:'block'});				
							$('uploadholder').setStyle({display:'none'});											
							kickHandlers();						
						}
					});				
				break;
				case 'paging':
					if (window.location.toString().match('manage.php') == 'manage.php'){
						var typ = 'manage'
					} else {
						var typ = 'view'
					}
					new Ajax.Request('include/interact.php',{
						parameters:{action:this.readAttribute('rel'),offset:this.readAttribute('rev'),typ:typ},
						onSuccess:function(transport){
							$('content').update(transport.responseText);
							new Effect.Appear($('content').down('div').next('table'),{duration:1.0});
							kickHandlers();					
						}
					});									
				break;
				case 'register':
					new Ajax.Request('include/interact.php',{
						parameters:{action:this.readAttribute('rel')},
						onSuccess:function(transport){
							$('content').update(transport.responseText);
							kickHandlers();							
						}
					});
				break;
				case 'relog':
				case 'logout':
				case 'forgot':
					updateDiv = this.up('div').up('div').id;
					new Ajax.Request('include/interact.php',{
						parameters:{action:this.readAttribute('rel')},
						onSuccess:function(transport){
							$(updateDiv).update(transport.responseText);
							if (rel == 'logout')
							{
								window.location.reload();
							}
							kickHandlers();					
						}
					});					
				break;
				case 'faq':
					dropLists(this,true);
				break;
				case 'accountinfo':
					new Ajax.Request('include/interact.php',{
						parameters:{action:'accountInfo'},
						onSuccess:function(transport){
							$('leftNav').update(transport.responseText);
							kickHandlers();						
						}
					});
				break;
				case 'sort':
					new Ajax.Request('include/interact.php',{
						parameters:{action:'sort',typ:this.id},
						onSuccess:function(transport){
							$('content').update(transport.responseText);
							$('content').setStyle({display:'block'});				
							kickHandlers();						
						}
					});				
				break;
				case 'image':
					new Ajax.Request('include/interact.php',{
						parameters:{action:'finalize',image:this.readAttribute('rev'),typ:'video'},
						onSuccess:function(transport){
							window.parent.$('uploadholder').setStyle({display:'none'});											
							window.parent.$('content').setStyle({display:'block'});											
							window.parent.$('content').update(transport.responseText);
							window.parent.kickHandlers();
							window.location.href = window.parent.location+'upload.php';
							kickHandlers();
						}
					});				
				break;
				case 'mailer':
				case 'addComment':
				case 'userComments':
				case 'flag':
					uiHandler(rel);
				break;				
				case 'file':
					new Ajax.Request('include/interact.php',{
						   parameters:{action:'viewfile',id:this.readAttribute('rev')},
						   onSuccess:function(transport){
								   $('content').update(transport.responseText);
								   kickHandlers();
						   }
					});
				break;
				case 'remcomment':
					var answer = confirm('Are you sure you want to delete this comment?');
					if (answer) {
						new Ajax.Request('include/interact.php',{
							   parameters:{action:this.readAttribute('rel'),id:this.id},
							   onSuccess:function(transport){
									   $('userComments').update(transport.responseText);
									   kickHandlers();
							   }
						});
					}
				break;				
				case 'bigImage':
					img = this.down('img').src;
					var h = this.down('img').getStyle('height');
					var w = this.down('img').getStyle('width');					
					window.open(img,'imagewin','width='+w+',height='+h+',toolbar=0');					
				break;
				case 'addAnnounce':
					window.open('include/addAnnounce.php','announcewin','width=565,height=790,toolbar=0,scrollbars=1');					
				break;				
				default:
					alert(this.readAttribute('rel'));
				break;
			}
		});
	}
var dropHandler = 
	function(action,el){
		$$('div.dropdown').invoke('stopObserving','mouseover');
		$$('div.dropdown').invoke('stopObserving','mouseout');		
		$$('div.dropdown').invoke('observe','mouseover',function(e){																 
			$(e).stop();
			dropHandler('show',el);
		});
		$$('div.dropdown').invoke('observe','mouseout',function(e){
			$(e).stop();
			dropHandler('timer',el);
		});		
		switch(action)
		{
			case 'show':
				dropHandler('wait',el);						
				$(el).setStyle({display:'block'});
				var frameH = frameW = frameTPos = frameLPos = 0;
				frameH = parseInt($(el).getStyle('height'));
				frameW = parseInt($(el).getStyle('width'));				
				frameTPos = parseInt($(el).getStyle('top'));
				frameLPos = parseInt($(el).getStyle('left'));
				$('ddIframe').setStyle({display:'block',top:frameTPos,left:frameLPos,height:frameH,width:frameW})
			break;
			case 'hide':
				$(el).setStyle({display:'none'});
				$('ddIframe').setStyle({display:'none'});				
			break;
			case 'wait':
				if(typeof(dropTimer) != "undefined")
				{
					clearTimeout(dropTimer[el]);
				}
			break;
			case 'timer':
				if(typeof(dropTimer) == "undefined")
				{
					dropTimer = new Array();
				}
				dropTimer[el] = setTimeout("dropHandler('hide',el)",100);
			break;
		}
	};
var tabHandler = 
	function(){
		$$('a.tab').invoke('stopObserving','mouseover');
		$$('a.tab').invoke('stopObserving','mouseout');							
		$$('a.tab').invoke('observe','mouseover',function(e){
			$(e).stop();
			this.down('img').src = this.down('img').src.replace(/_up/i,'_ov');						
			if(this.readAttribute('rel') == 'browse' || this.readAttribute('rel') == 'admin')
			{
				obj = this;
				var browser=navigator.appName;
				var b_version=navigator.appVersion;
				var version=parseFloat(b_version);
				if (browser=="Microsoft Internet Explorer" && (version >=4))
				{
					var initOffSet = 20;
				}
				else
				{
					var initOffSet = 10;
				}
				var curLeft = curTop = 0;
				if (obj.offsetParent) {
					curLeft = obj.offsetLeft
					curTop = obj.offsetTop+initOffSet;
					while (obj = obj.offsetParent) {
						curLeft += obj.offsetLeft
						curTop += obj.offsetTop
					}
				}
				switch(this.readAttribute('rel'))
				{
					case 'browse':
						el = 'dropdown'
					break;
					case 'admin':
						el = 'dropdown2'
					break;
				}
				$(el).setStyle({top:curTop,left:curLeft});				
				dropHandler('show',el);
			}
		});
		$$('a.tab').invoke('observe','mouseout',function(e){
			$(e).stop();
			if(this.href != window.location)
			{									
				this.down('img').src = this.down('img').src.replace(/_ov/i,'_up');										 			
			}
			if(this.readAttribute('rel') == 'browse' || this.readAttribute('rel') == 'admin')
			{
				dropHandler('timer',el);
			}
		});		
	}
var privHandler = 
	function(){
		$$('input.priv').invoke('stopObserving','click');						
		$$('input.priv').invoke('observe','click',function(e){
			$('contactCell').toggle();
		});				
	};
var catHandler = 
	function(){
		$$('select.cats').invoke('stopObserving','change');				
		$$('select.cats').invoke('observe','change',function(e){
			$(e).stop();
			var updateDiv = 'subcatHolder'+this.readAttribute('rev');
			new Ajax.Request('include/interact.php',{
				parameters:{action:'cats',id:this.value},
				onSuccess:function(transport){
					$(updateDiv).update(transport.responseText);
					kickHandlers();						
				}
			});				
		});				
	};
var flagHandler = 
	function(){
		$$('select.flag').invoke('stopObserving','change');				
		$$('select.flag').invoke('observe','change',function(e){
			$(e).stop();
			if (this.value > 0)
			{
				updateDiv = this.up('div');
				new Ajax.Request('include/interact.php',{
					parameters:{action:'flag',id:this.readAttribute('rel'),val:this.value},
					onSuccess:function(transport){
						updateDiv.update(transport.responseText);
						kickHandlers();						
					}
				});				
			}
		});				
	};
var rateHandler = 
	function(){
		$$('select.rate').invoke('stopObserving','change');				
		$$('select.rate').invoke('observe','change',function(e){
			$(e).stop();
			if (this.value > 0)
			{
				updateDiv = this.up('div');			
				new Ajax.Request('include/interact.php',{
					parameters:{action:'rate',id:this.readAttribute('rel'),val:this.value},
					onSuccess:function(transport){
						updateDiv.update(transport.responseText);
						kickHandlers();						
					}
				});				
			}
		});				
	};
var credClear = 
	function(){
		$$('input').invoke('stopObserving','focus');				
		$$('input').invoke('observe','focus',function(e){
			$(e).stop();
			if(this.value != '') {this.value = '';}
		});				
	};

var kickHandlers = 
	function(){
		formHandler();
		tabHandler();				
		catHandler();
		privHandler();
		flagHandler();
		rateHandler();
		internalHandler();
	};
var preload = 
	function(){
		pic1= new Image(15,15); 
		pic1.src="images/staryellow.png"; 
		pic2= new Image(15,15); 
		pic2.src="images/stargrey.png"; 
	}

document.observe('dom:loaded',function(e){
	kickHandlers();
	preload();
	tabfix();
});
