/* 
 * Javascript File Direct Stereo 
 * Copyright 2008 Siteapps
 * Gemaakt Door R. Kock <rick@siteapps.nl>
 */

function ajaxFunction(){

	var xmlHttp;

	try{
		// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
	}
	catch(e){
		// Internet Explorer
		try{
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e){
			try{
				xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e){
				alert("Uw browser ondersteund geen AJAX...");
				return false;
			}
		}
	}

	return xmlHttp;

}


function autoAanvullen(value){


	if(value.length >= 2){

		var xmlHttp = new ajaxFunction();
			xmlHttp.onreadystatechange=function(){
				if(xmlHttp.readyState==4){
										
					if(xmlHttp.responseText){
						document.getElementById('SearchTips').style.display = 'block';
						document.getElementById('SearchTips').innerHTML = xmlHttp.responseText;
					}
					else{
						document.getElementById('SearchTips').style.display = 'none';
					}
	
				}
			}
	
			xmlHttp.open("GET", "/AJAXautoaanvullen.php?keywords=" + value + "&TimeStamp=" + new Date(), true);
			xmlHttp.send(null);
		
	}
	else document.getElementById('SearchTips').style.display = 'none';

}

function frmSearch(){

	var Keywords = document.getElementById('Keywords');
	var Lang = document.getElementById('srLang');
	
	if(Keywords.value.length < 3) alert("The minimun search length is 3 chars");
	else window.location = '/search/' + Keywords.value.replace(/ /g, "_").toLowerCase() + '/' + Lang.value + '/1';

}

function osxField(fieldID, emptyValue){

	var Field = document.getElementById(fieldID);
	
	if(Field.value == emptyValue){
		document.getElementById(fieldID).value = '';
		document.getElementById(fieldID).style.color = '#333333';
	}
	else if(Field.value == ''){
		document.getElementById(fieldID).value = emptyValue;
		document.getElementById(fieldID).style.color = '#CCCCCC';		
	}

}

function checkRegister(){

	var Username = document.getElementById('regUsername');
	var Password = document.getElementById('regPassword');
	var Password2 = document.getElementById('regPassword2');
	var mailAddress = document.getElementById('Mailaddress');
	var Name = document.getElementById('Name');
	var Address = document.getElementById('Address');
	var Zipcode = document.getElementById('Zipcode');
	var City = document.getElementById('City');
	var State = document.getElementById('State');
	var DD = document.getElementById('DD');
	var MM = document.getElementById('MM');
	var YYYY = document.getElementById('YYYY');
	var Agreement = document.getElementById('Agreement');
	var sec_code = document.getElementById('sec_code');
	
	if(Username.value == ''){
		alert('Username cannot be blank.');	
		return false;
	}
       else if(!(Username.value.match(/^[0-9a-zA-Z]+$/))){
		alert('Your username contains illegal characters, please only use a-z and 0-9.');
		return false;
	}
	else if(Password.value == ''){
		alert('Password cannot be blank.');
		return false;
	}
	else if(Password2.value == ''){
		alert('You have to repeat your password.');
		return false;
	}
	else if(Password.value != Password2.value){
		alert('The 2 passwords do not match.');
		return false;
	}
	else if(!(mailAddress.value.match(/^[-_a-z0-9]+(\.[-_a-z0-9]+)*@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]{2,6}$/))){
		alert('Your mailaddress is incorrect.');
		return false;
	}	
	else if(Name.value == ''){
		alert('Realname cannot be blank.');
		return false;
	}
	else if(Address.value == ''){
		alert('Address cannot be blank.');
		return false;
	}
	else if(Zipcode.value == ''){
		alert('Zipcode cannot be blank.');
		return false;
	}
	else if(City.value == ''){
		alert('City cannot be blank.');
		return false;
	}	
	else if(State.value == ''){
		alert('State / Provice cannot be blank.');
		return false;
	}	
	else if(City.value == ''){
		alert('City cannot be blank.');
		return false;
	}
	else if(MM.value > 12 || DD.value > 31){
		alert('Your birthday is incorrect.')
		return false;
	}
	else if(sec_code.value == ''){
		alert('You have to re-type the securtiy code.');
		return false;
	}
	else if(Agreement.checked == false){
		alert('You have to the terms and Conditions.');
		return false;
	}	

}

function checkAccount(){

	var mailAddress = document.getElementById('Mailaddress');
	var Name = document.getElementById('Name');
	var Address = document.getElementById('Address');
	var Zipcode = document.getElementById('Zipcode');
	var City = document.getElementById('City');
	var State = document.getElementById('State');
	var DD = document.getElementById('DD');
	var MM = document.getElementById('MM');
	var YYYY = document.getElementById('YYYY');
	
	if(!(mailAddress.value.match(/^[-_a-z0-9]+(\.[-_a-z0-9]+)*@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]{2,6}$/))){
		alert('Your mailaddress is incorrect.');
		return false;
	}
	else if(Name.value == ''){
		alert('Realname cannot be blank.');
		return false;
	}
	else if(Address.value == ''){
		alert('Address cannot be blank.');
		return false;
	}
	else if(Zipcode.value == ''){
		alert('Zipcode cannot be blank.');
		return false;
	}
	else if(City.value == ''){
		alert('City cannot be blank.');
		return false;
	}	
	else if(State.value == ''){
		alert('State / Provice cannot be blank.');
		return false;
	}	
	else if(City.value == ''){
		alert('City cannot be blank.');
		return false;
	}
	else if(MM.value > 12 || DD.value > 31){
		alert('Your Birthday is incorrect.')
		return false;
	}

}


function frmLogin(){
	
	var Username = document.getElementById('Username');
	var Password = document.getElementById('Password');

	if(Username.value == '' || Username.value == 'Username'){
		alert('You have to fill in your username');	
		return false;
	}
	else if(Password.value == '' || Password.value == 'Password'){
		alert('You have to fill in your password');
		return false;
	}
	else{
		document.forms.frmLogin.submit()
	}
	
}

function checkLogin(){
	
	var Username = document.getElementById('logUsername');
	var Password = document.getElementById('logPassword');

	if(Username.value == '' || Username.value == 'Username'){
		alert('You have to fill in your username');	
		return false;
	}
	else if(Password.value == '' || Password.value == 'Password'){
		alert('You have to fill in your password');
		return false;
	}
	else{
		document.forms.frmLogin.submit()
	}
	
}

function requestReset(){

	var mailAddress = document.getElementById('Emailaddress');
	
	if(!(mailAddress.value.match(/^[-_a-z0-9]+(\.[-_a-z0-9]+)*@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]{2,6}$/))){
		alert('Your mailaddress is incorrect.');
		return false;
	}
	else{
		
		var xmlHttp = new ajaxFunction();
			xmlHttp.onreadystatechange=function(){
				if(xmlHttp.readyState==4){
					
					if(xmlHttp.responseText){
						alert('The mailaddress not exists in the database.');
						return false;
					}

				}
			}
	
			xmlHttp.open("GET", "/AJAX/requestReset.php?mailAddress=" + mailAddress.value + "&TimeStamp=" + new Date(), true);
			xmlHttp.send(null);

	}

}

function resetPassword(){
	
	var Password1 = document.getElementById('rstPassword');
	var Password2 = document.getElementById('rstPassword2');

	if(Password1.value == ''){
		alert('Password cannot be blank.');
		return false;
	}
	else if(Password2.value == ''){
		alert('You have to repeat your password.');
		return false;
	}
	else if(Password1.value != Password2.value){
		alert('The 2 password do not match.');
		return false;
	}	
	
}

function changePassword(){
	
	var Old = document.getElementById('Old');
	var Password1 = document.getElementById('New');
	var Password2 = document.getElementById('New2');

	if(Old.value == ''){
		alert('Old password cannot be blank.');
		return false;		
	}
	else if(Password1.value == ''){
		alert('New password cannot be blank.');
		return false;
	}
	else if(Password2.value == ''){
		alert('You have to repeat your new password.');
		return false;
	}
	else if(Password1.value != Password2.value){
		alert('The 2 password do not match.');
		return false;
	}	
	
}

function getAlbumContent(){

	var FolderID = document.getElementById('FolderID');
	var Layer = document.getElementById('ContentLayer');

		var xmlHttp = new ajaxFunction();
			xmlHttp.onreadystatechange=function(){
				if(xmlHttp.readyState==4){

					if(xmlHttp.responseText == "NOT_OK"){
						alert('Something whent wrong please try again.');
						window.location.reload(true);
					}
					else{
						Layer.innerHTML = xmlHttp.responseText;
					}

				}
			}
			xmlHttp.open("GET", "/AJAXalbum.php?ID=" + FolderID.value + "&TimeStamp=" + new Date(), true);
			xmlHttp.send(null);
	
	
}

function uploadTrack(){
	
	var TrackName = document.getElementById('Trackname');
	var Genre = document.getElementById('Genre');
	var Language = document.getElementById('Language');
	
	if(TrackName.value == ''){
		alert('Trackname cannot be blank.');
		return false;
	}
	else if(Genre.value == 0){
		alert('You have to select a genre');
		return false;
	}
	else if(Language.value == 0){
		alert('You have to select a language');
		return false;
	}	
	
}

function uploadAlbum(){
	
	//Controle Free Tracks
	var TrackID = 1;
	var FreeTracks = 0;
	
	while(true != false){
	
		var TrackFree = document.getElementById('AlbumFREE-' + TrackID);
		
		if(TrackFree){
			if(TrackFree.checked == true) FreeTracks++;
		}
		else break;
		
		TrackID++;
	
	}
		
	var AlbumName = document.getElementById('Albumname');
	var Genre = document.getElementById('Genre');
	var Language = document.getElementById('Language');	
	
	if(AlbumName.value == ''){
		alert('Albumname cannot be blank.')
		return false
	}
	else if(Genre.value == 0){
		alert('You have to select a genre');
		return false;
	}
	else if(Language.value == 0){
		alert('You have to select a language');
		return false;
	}
	else if(FreeTracks < 2 && TrackID >= 2){
		alert('Minimal 2 Tracks must be free.');
		return false;
	}
	
}

function editAlbum(){
	
	//Controle Free Tracks
	var TrackID = 1;
	var FreeTracks = 0;
	
	while(true != false){
	
		var TrackFree = document.getElementById('AlbumFREE-' + TrackID);
		
		if(TrackFree){
			if(TrackFree.checked == true) FreeTracks++;
		}
		else break;
		
		TrackID++;
	
	}
		
	var NOT = document.getElementById('NOT');	
	var AlbumName = document.getElementById('Albumname');
	var Genre = document.getElementById('Genre');
	var Language = document.getElementById('Language');	
	
	if(AlbumName.value == ''){
		alert('Albumname cannot be blank.')
		return false
	}
	else if(Genre.value == 0){
		alert('You have to select a genre');
		return false;
	}
	else if(Language.value == 0){
		alert('You have to select a language');
		return false;
	}
	else if(FreeTracks < 2 && TrackID >= 2 && NOT.value != 'NOT'){
		alert('Minimal 2 Tracks must be free.');
		return false;
	}
	
}


function playSample(TrackID){

	var so = new SWFObject("/samplePlayer.swf?TrackID=" + TrackID, "flvPlayer", "800", "55", "8", "#333333");
		so.addParam("quality", "high");
		so.addParam("wmode", "transparent");
		so.addParam("flashvars", "TrackID=" + TrackID);
		so.write("flvPlayer");

}

function scrollPlaylist(type){
    	window.playList.focus();
		if(type == 'down') window.playList.scrollBy(0, 25);
		else window.playList.scrollBy(0, -25);
    	scrolldelay = setTimeout('scrollPlaylist(\'' + type + '\')',100);
}

function stopScrollPlaylist(type) {
    	clearTimeout(scrolldelay);
}

function checkBlog(){

	var Titel = document.getElementById('Titel');
	var Bericht = document.getElementById('Bericht');
	
	if(Titel.value == ''){
		alert('Title could not be blank.');
		return false;
	}
	else if(Bericht.value == ''){
		alert('BBcode could not be blank.');
		return false;
	}

}

function goGenre(){
	var Genre = document.getElementById('GenresZijkant');
	
	if(Genre.value != 0) window.location = '/genre/'+ Genre.value + "/";
}

isIE=document.all;
isNN=!document.all&&document.getElementById;
isN4=document.layers;
isHot=false;

function ddInit(e){
  topDog=isIE ? "BODY" : "HTML";
  whichDog=isIE ? document.all.theLayer : document.getElementById("theLayer");  
  hotDog=isIE ? event.srcElement : e.target;  
  while (hotDog.id!="titleBar"&&hotDog.tagName!=topDog){
    hotDog=isIE ? hotDog.parentElement : hotDog.parentNode;
  }  
  if (hotDog.id=="titleBar"){
    offsetx=isIE ? event.clientX : e.clientX;
    offsety=isIE ? event.clientY : e.clientY;
    nowX=parseInt(whichDog.style.left);
    nowY=parseInt(whichDog.style.top);
    ddEnabled=true;
    document.onmousemove=dd;
  }
}

function dd(e){
  if (!ddEnabled) return;
  whichDog.style.left=isIE ? nowX+event.clientX-offsetx : nowX+e.clientX-offsetx; 
  whichDog.style.top=isIE ? nowY+event.clientY-offsety : nowY+e.clientY-offsety;
  return false;  
}

function ddN4(whatDog){
  if (!isN4) return;
  N4=eval(whatDog);
  N4.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP);
  N4.onmousedown=function(e){
    N4.captureEvents(Event.MOUSEMOVE);
    N4x=e.x;
    N4y=e.y;
  }
  N4.onmousemove=function(e){
    if (isHot){
      N4.moveBy(e.x-N4x,e.y-N4y);
      return false;
    }
  }
  N4.onmouseup=function(){
    N4.releaseEvents(Event.MOUSEMOVE);
  }
}

function hideMe(){
  if (isIE||isNN) whichDog.style.visibility="hidden";
  else if (isN4) document.theLayer.visibility="hide";
}

function showMe(){
  if (isIE||isNN) whichDog.style.visibility="visible";
  else if (isN4) document.theLayer.visibility="show";
}

document.onmousedown=ddInit;
document.onmouseup=Function("ddEnabled=false");