


function formResponse(data)
{
	//walk through all fields, and change images and title's accordingly.
	var allgood=true;
	for(var obj in data)
	{
		var info={id:obj,content:data[obj]};
		var src = $("#img_"+info.id).attr('src');
		if(src)
		{
			$("#img_"+info.id).attr('src',src);
			if(info.content=="ok")
			{	
				//console.log("het is ok");
				src = src.replace('cross','tick');						
			}			
			else
			{
				allgood=false;
				src = src.replace('tick','cross');
				
			}	
			//$("#img_"+info.id);
			$("#img_"+info.id).attr('src',src).attr('title',info.content);
		}
	}		
	if(allgood)
		$("form").submit();

}

function processValidation()
{	
	//collect all info from fields in array
	//send content of field to server	

	var arr={};
	var counter=0;
	$(":text,:password,:checkbox,:file").each(function()
		{
			arr[$(this).attr('id')]=$(this).attr('value');
		});
	$.post(BASE+'users/validateFields',arr,function(data)
		{
			for(var obj in data)
			{
				var info={id:obj,content:data[obj]};
				var src = $("#img_"+info.id).attr('src');
				if(src)
				{
					$("#img_"+info.id).attr('src',src);
					if(info.content=="ok")
						src = src.replace('cross','tick');			
					else					
						src = src.replace('tick','cross');
					$("#img_"+info.id).attr('src',src).attr('title',info.content).attr('alt',info.content);
				}
			}		
			if(allgood)
			$("form").submit();
		},"json");
}

function deleteConfirm(id,name)
{
	
	var where_to= confirm("Do you really want to delete "+name+"??","");
	if (where_to== true)
	{
		window.location=BASE+"sounds/delete/"+id;
	}	
}

function switchVoteImage(id,dir)
{
	
	var b=$(".box_"+dir+"_"+id).attr('src');
	var std="arrow_"+dir;
	if(b.indexOf("voted")==-1)
		b=b.replace(std,std+"_voted");
	else
		b=b.replace(std+"_voted",std);
	$(".box_"+dir+"_"+id).attr('src',b);		

}

function vote(id,dir)
{
	var otherdir=(dir=='up')?'down':'up';
	var clicked={d:dir,im:$(".box_"+dir+"_"+id).attr('src').indexOf("voted")!=-1};
	var notclicked=	{d:otherdir,im:$(".box_"+otherdir+"_"+id).attr('src').indexOf("voted")!=-1};
	
	var type="normal";
	if(clicked.im || notclicked.im)	
	{
		type="undo";			
	
	}
	switchVoteImage(id,(notclicked.im)?notclicked.d:clicked.d);
	
	$.post(BASE+"sounds/vote/"+dir+"/"+id+"/"+type,
		function(data){
			if(data!="no")
				$(".score_"+id).html(data);	
			else
			{
				switchVoteImage(id,(notclicked.im)?notclicked.d:clicked.d);
			}
		});	
}
function validateAllFields()
{
	$(":text,:password,:file").each(function()
	{
		if($("#img_"+$(this).attr('id')).length)
		{
			validateField($(this).attr('id'),$(this).attr('value'));
		}
	});
}

function validateField(id,val)
{
	var msg="ok!";
	var ok=true;
	var v=(id=="SoundDescription"||"SoundName")?val:val.split(' ').join('');
	$("#"+id).attr("value",v);	
	var vl=v.length;
	var src=$("#img_"+id).attr('src');
	switch(id)
	{
		case "UserName":
			if(vl<4){ok=false;msg="User name too short (min. 4)";}
			if(vl>20){ok=false;msg="User name too long (max. 20)";}
			break;
		case "UserPassword":
			if(vl<4){ok=false;msg="Password too short (min. 4)";}
			if(vl>20){ok=false;msg="Password too long (max. 20)";}
			break;
		case "SoundName":
			if(vl<4){ok=false;msg="Sound name too short (min. 4)";}
			if(vl>20){ok=false;msg="Sound name too long (max. 20)";}
			break;
		case "SoundDescription":
			if(vl>150){ok=false;msg="Description too long (max. 150)";}
			break;			
	}
	src=(ok)?src.replace("cross","tick"):src.replace("tick","cross");
	$("#img_"+id).attr('src',src).attr('title',msg);
}

function showFlashBox(id)
{
	$('#'+id).flash(null,{ version: 8 }, function(htmlOptions) {
		var info=id.split("_");
		var $this = $(this);
		htmlOptions.src=BASE+'flash/mine/'+info[0]+'.swf';
		htmlOptions.width=info[1];
		htmlOptions.height=info[2];
		htmlOptions.allowFullScreen="true";
		$this.before($.fn.flash.transform(htmlOptions));	
		$this.hide();
	});		

}

$(document).ready(function() {
	$("input[type=file]").rebrushfileupload(
	{
		button_text: 'Browse...',
		class_container: 'upload',
		class_field: 'uploadfield',
		class_button: 'uploadbutton'
	});
    $('.mp3').flash(
        { 	src: BASE+'flash/player_mp3_maxi.swf', 
			height: 20, 
			width: 150,
			wmode: 'transparent'			
		},
		{ version: 7 },
        function(htmlOptions) {
            $this = $(this);
            htmlOptions.flashvars = {	mp3:BASE+'files/'+$(this).html(), 			
										width:150,
										height:20,
										showvolume:1,
										showslider:1,
										volumewidth:30,
										volumeheight:10,
										sliderwidth:10,
										sliderheight:5,
										loop:1,
										sliderovercolor:'ee9944',
										buttonovercolor:'ee9944',
										volume: 25};
            $this.before($.fn.flash.transform(htmlOptions));	
			$this.hide();
        }		
	);
	$('li .infotoggle').click(function()
		{
			var id=$(this).attr('id').split("_");
			$("#info_"+id[1]+"_"+id[2]).slideToggle("fast");
		});
	validateAllFields();
});


