// JavaScript Document
// Sjef ajax + js Sjef suggest
// lars.andersen@nrk.no

// NB: endre denne til absolutt?

//var rpc_file_url = "../wp-content/plugins/sjef/rpc.php";

//var $jSjef = jQuery.noConflict();


// tester submit jquery post

/*

$(function() {

  $(".sjef_sendknapp").click(function() {  
     // validate and process form here  
	 

		alert('fis');
		return false;
							
   });  

});




$(function() {

	
	$(".sjef_hjelp_knapp").colorbox({											
										
		speed: 500, 
		width: 650,
		height: 420, 
		opacity:0.6, 
		scrolling: false

												
												
	});

	
	
});

*/



/*

function facebookShareTrack(mmmid) { 
	u = baseUri + "Laat/"+mmmid; t = document.title; 
	window.open('http://www.facebook.com/sharer.php?u=' + encodeURIComponent(u) + '&t=' + encodeURIComponent(t), 'sharer', 'toolbar=0,status=0,width=626,height=436'); 
	return false;
}
*/



function sjef_send_skjema(){
	
	// send -anim her?
	
	var artist1 = encodeURIComponent(jQuery.trim(jQuery("#sjef_suggest1").val()));
	var artist2 = encodeURIComponent(jQuery.trim(jQuery("#sjef_suggest3").val()));
	var artist3 = encodeURIComponent(jQuery.trim(jQuery("#sjef_suggest5").val()));
	
	var tittel1 = encodeURIComponent(jQuery.trim(jQuery("#sjef_suggest2").val()));
	var tittel2 = encodeURIComponent(jQuery.trim(jQuery("#sjef_suggest4").val()));
	var tittel3 = encodeURIComponent(jQuery.trim(jQuery("#sjef_suggest6").val()));
	
	var liste_tittel = encodeURIComponent(jQuery.trim(jQuery("#liste_tittel").val()));
	var liste_beskrivelse = encodeURIComponent(jQuery.trim(jQuery("#liste_beskrivelse").val()));

	var navn = encodeURIComponent(jQuery.trim(jQuery("#navn").val()));
	var epost = encodeURIComponent(jQuery.trim(jQuery("#epost").val()));
	var telefon = encodeURIComponent(jQuery.trim(jQuery("#telefon").val()));
	var person_url = encodeURIComponent(jQuery.trim(jQuery("#person_url").val()));
	
	var sjefData = "artist1=" + artist1 + "&artist2=" + artist2 + "&artist3=" + artist3;
	sjefData += "&tittel1=" + tittel1 + "&tittel2=" + tittel2 + "&tittel3=" + tittel3;
	sjefData += "&liste_tittel=" + liste_tittel + "&liste_beskrivelse=" + liste_beskrivelse;
	sjefData += "&navn=" + navn + "&epost=" + epost + "&telefon=" + telefon + "&person_url=" + person_url;
	
	//alert(sjefData);
	
	// ajax send med post her
	
	
 	jQuery('#sjef_wrap_alt').html("<div class='sjef_send_gif'>&nbsp;</div>");
	jQuery('#sjef_wrap_alt').fadeIn('slow');
	
	  jQuery.ajax({
      type: "POST",
      url: "../wp-content/plugins/sjef/sjef_insert_logikk_ajax.php",
      data: sjefData,
      success: function(feedback) {
       	   
	 	jQuery('#sjef_wrap_alt').html(feedback);
		jQuery('#sjef_wrap_alt').fadeIn('slow');
	   
 
	 	},
		
		error: function() {
			
			alert('error...');
			// få på en feil-skjerm her
			// pluss prøv på nytt-knapp
		
		}
	  
     });
	  
	  return false;
	
	
	
	
}// end sjef_send_skjema()


/*

function hent_aktuelle_titler(feltnr, id){
	//alert(feltnr + " " + id);
	
	var t_feltnr = feltnr + 1;
	var tittelfeltnr = String(t_feltnr);
	var forslagsfelt = String("#suggestions" + tittelfeltnr);
	
	var inputString = "dummy_text";
	var ekstra = id;
	var type = "hent_tittel";
			
	
	jQuery.post(rpc_file_url, {queryString: "" + inputString + "", ekstra_info: "" + ekstra + "", feltnr: "" + t_feltnr + "", type: "" + type + ""}, function(data){
		if(data.length >0) {
			jQuery(forslagsfelt).show();
				
			var autoforslagliste = String("#autoSuggestionsList" + tittelfeltnr);
				
			jQuery(autoforslagliste).html(data);
			
			// setter fokus på aktuelt tittel-felt
			var tittelfelt = String("#inputString" + (feltnr+1));
			jQuery(tittelfelt).focus();
			
			}else{
			
				jQuery(forslagsfelt).hide();
			} 

	});



} // end hent_aktuelle_titler()
				
	
	
	
function fjern_id(feltnr){
			
	var inputfelt_klasse = String("#inputString" + feltnr);
		
	// fjerner klassen (id) om feltet tømmes
	if(jQuery(inputfelt_klasse).val() == "" || jQuery(inputfelt_klasse).length < 2){
			
		var artist_id = (jQuery(inputfelt_klasse).attr("class"));
		
		if(jQuery(inputfelt_klasse).hasClass(artist_id))
			jQuery(inputfelt_klasse).removeClass(artist_id);
		}
		
}// end fjern_id()




function lookup(inputString, feltnr, type) {

	var forslagsfelt = String("#suggestions" + feltnr);

	//alert(inputString + feltnr)
	
	// hvis brukeren markerer artistfelt og skriver en bokstav uten å slette først
	if(inputString.length < 2) {
	//alert("bare 1");
		fjern_id(feltnr);
	}
	
	
	if(inputString.length == 0) {
		// Hide the suggestion box.
		jQuery(forslagsfelt).hide();
		
		
	} else {
	
		// sender med artist/låt i søket (hvis blank, løser det i php-fila)
		if(type == "tittel"){			
			
			var inputfelt = String("#inputString" + (feltnr-1));
			var artist_id = (jQuery(inputfelt).attr("class"));
			
			if(jQuery(inputfelt).hasClass(artist_id)){
			
				//alert (id);
				var ekstra = artist_id;
				var hent_data = true;
			}else{
				// hvis ingen id, men artist er skrevet inn, søkes det ikke etter tittel
				if(jQuery(inputfelt).val() != ""){
					var hent_data = false;
				}else var hent_data = true;
			}
			
			// hvis artistfelt er tomt, søkes det på både artist og tittel - og viser begge i lista. 
			if(jQuery(inputfelt).val() == ""){
				
				// endrer type og lister ut nytt funksjonskall (fill_both, inni LI-elementet) i php-fila
				type = "hent_begge";
			
			}
			
		}else{
			
			// her er det artist
			
			var hent_data = true;
			var ekstra = "";
		 
		 }
								 
		if(hent_data){
			jQuery.post(rpc_file_url, {queryString: "" + inputString + "", ekstra_info: "" + ekstra + "", feltnr: "" + feltnr + "", type: "" + type + ""}, function(data){
				if(data.length >0) {
					jQuery(forslagsfelt).show();
					
					var autoforslagliste = String("#autoSuggestionsList" + feltnr);
					
					jQuery(autoforslagliste).html(data);
					// autosøk på tittel når den settes
										
				
				}else{
				
					jQuery(forslagsfelt).hide();
				} 
			});
			
		}// end if hent_data
	}
} // end lookup()
	
	
	
function fill(thisValue, id, feltnr) {

//alert(this);
//alert(thisValue);
	var inputfelt = String("#inputString" + feltnr);
	var forslagsfelt = String("#suggestions" + feltnr);
		
	//alert(forslagsfelt);
		
	// setter verdien i feltet fra lista
	jQuery(inputfelt).val(thisValue);
	
	
	// setter id som klasse for å enklere få tak i den ved søk		
	
	var inputfelt_klasse = String("#inputString" + feltnr);
	//alert(inputfelt_klasse);
	
	// tester om feltet har en klasse med id og evt overskriver med ny id
	
	var artist_id = (jQuery(inputfelt_klasse).attr("class"));
	
	if(jQuery(inputfelt_klasse).hasClass(artist_id))
		jQuery(inputfelt_klasse).removeClass(artist_id);
	
	// setter klassen til ID
	id = String(id);
	jQuery(inputfelt_klasse).addClass(id);


	//setTimeout("jQuery('"+ forslagsfelt +"').hide();", 200);
//		setTimeout("jQuery('#suggestions').hide();", 200);
	
	if(feltnr%2==1){
		// vi har et artist-felt
		//alert(feltnr + "=artist");	
		hent_aktuelle_titler(feltnr, id);
	
	}
	
	fjern_forslag(feltnr);

}// end fill()

	
// fyller ut både artist og tittel i ett
function fill_both(artist, artist_id, tittel, laat_id, feltnr) {


//alert(thisValue);
	var artistfelt = String("#inputString" + (feltnr-1));
	var tittelfelt = String("#inputString" + feltnr);
	
	
	var forslagsfelt = String("#suggestions" + feltnr);
		
	//alert(forslagsfelt);
		
	// setter verdien i feltet fra lista
	jQuery(artistfelt).val(artist);		
	jQuery(tittelfelt).val(tittel);
	
	// setter id som klasse for å enklere få tak i den ved søk		

	var artist_klasse = String("#inputString" + (feltnr-1));
	var tittel_klasse = String("#inputString" + (feltnr));
	
	
	// tester om feltet har en klasse med id og evt overskriver med ny id
	
	var artist_id_klasse = (jQuery(artist_klasse).attr("class"));
	var laat_id_klasse = (jQuery(tittel_klasse).attr("class"));
	
	if(jQuery(artist_klasse).hasClass(artist_id_klasse))
		jQuery(artist_klasse).removeClass(artist_id_klasse);
	
	if(jQuery(tittel_klasse).hasClass(laat_id_klasse))
		jQuery(tittel_klasse).removeClass(laat_id_klasse);
		
		
	
	// setter klassen til ID
	id = String(artist_id);
	jQuery(artist_klasse).addClass(id);

	id = String(laat_id);
	jQuery(tittel_klasse).addClass(id);

	//setTimeout("jQuery('"+ forslagsfelt +"').hide();", 200);
//		setTimeout("jQuery('#suggestions').hide();", 200);
	
	
	fjern_forslag(feltnr);

}// end fill_both()


*/

	
function fjern_forslag(feltnr){
	var forslagsfelt = String("#suggestions" + feltnr);
	setTimeout("jQuery('"+ forslagsfelt +"').hide();", 200);
}// end fjern_forslag()
	
	
	
function blank_felt(feltnr){
	
	var artist_klasse = String("#sjef_suggest" + feltnr);
	var tittel_klasse = String("#sjef_suggest" + (feltnr+1));
	
	//fjerner value
	
//	alert(tittel_klasse);
	
	jQuery(artist_klasse).val("");
	jQuery(tittel_klasse).val("");
	
	
	
	// fjerner klasse/id
	
	var artist_id_klasse = (jQuery(artist_klasse).attr("class"));
	var laat_id_klasse = (jQuery(tittel_klasse).attr("class"));
	
	if(jQuery(artist_klasse).hasClass(artist_id_klasse))
		jQuery(artist_klasse).removeClass(artist_id_klasse);
	
	if(jQuery(tittel_klasse).hasClass(laat_id_klasse))
		jQuery(tittel_klasse).removeClass(laat_id_klasse);
		
}	
	
	
	
	
function checkForDifferentTunesInList(){
	// sjekker om noen av de tre låtene er likedan. Returnerer false om ja.
	
	var ok = true;
	
	// slår sammen artist+låt, iom at forskjellige artister KAN ha samme låttittel
	var artist_sang1 = jQuery.trim(jQuery("#sjef_suggest1").val()) + jQuery.trim(jQuery("#sjef_suggest2").val());
	var artist_sang2 = jQuery.trim(jQuery("#sjef_suggest3").val()) + jQuery.trim(jQuery("#sjef_suggest4").val());
	var artist_sang3 = jQuery.trim(jQuery("#sjef_suggest5").val()) + jQuery.trim(jQuery("#sjef_suggest6").val());
	
	
	if(artist_sang1 == artist_sang2)
		ok = 'laatfeil';
	if(artist_sang1 == artist_sang3)
		ok = 'laatfeil';
	if(artist_sang2 == artist_sang3)
		ok = 'laatfeil';
		
	var artist_1 = jQuery.trim(jQuery("#sjef_suggest1").val()); 
	var artist_2 = jQuery.trim(jQuery("#sjef_suggest3").val());
	var artist_3 = jQuery.trim(jQuery("#sjef_suggest5").val());
	
	
	if(artist_1 == artist_2)
		ok = 'artistfeil';
	if(artist_1 == artist_3)
		ok = 'artistfeil';
	if(artist_2 == artist_3)
		ok = 'artistfeil';
		
	return ok;	
	
	//alert("fis " + artist_sang1);


}



function sjefCheckForm(){
	
	var ant_laater = 0;
	var feilmld = "";
	
	
	
	var navn = document.getElementById('navn').value;
	var epost = document.getElementById('epost').value;
	var listetittel = document.getElementById('liste_tittel').value;
	

	
	for(i=1; i<7; i++){
		
		var inputnr = String("sjef_suggest" + i);
		var element = document.getElementById(inputnr);
	/*
		var formartistnr = String("artist" + i);
		var formlaatnr = String("tittel" + i);
		
		var element1 = document.getElementsByName(formartistnr);
		var element2 = document.getElementsByName(formlaatnr);
	*/
			if(element.value != "")
				ant_laater++;
				
	}	
	
	/*
	if (ant_laater<1)
		feilmld += "Du må legge til minst én låt.\n";
	*/
	
	if (ant_laater<6)
		feilmld += "Legg til 3 sanger.\n";
	else{
		
		// sjekker om det er forskjellige låter i lista - bare om hele lista er fylt ut
		
		switch(checkForDifferentTunesInList()){
			
			case 'laatfeil':			
				feilmld += "Legg til 3 forskjellige sanger.\n";
			break;
			
			case 'artistfeil':
				feilmld += "Legg til 3 forskjellige artister.\n";
			break;
						
		}		
		
	
	}
	
//alert (ant_laater);

	// sjekk navn/epost/tittel her
	if(navn == "")
		feilmld += "Fyll ut navnet ditt.\n";

	if(epost == "")
		feilmld += "E-post mangler.\n";

	if(listetittel == "")
		feilmld += "Listenavn mangler.\n";
		
			
	if(feilmld != ""){
	//jAlert(feilmld, 'Hei Sjef! Sjekk dette:');
	
	feilmld += "\n\nTakker!  :-)";

	alert(feilmld);
		return false;
		
	//}else return true;
	
	}else { 
		// kaller send-funksjonen
		sjef_send_skjema();
		return false;
	}
}


