var videosPage = "/videos.html"; //Finska sidan har ingen video
var officesPage = "/kontor.html";
var searchImage = '/images/18.6a462c7912efb9dc85f80002489/sokknapp.png';
var googleMapsImage = '/images/18.53bdb7c112f8aece69580001835/loggagooglemaps.png'; //denna måste ändras för nya kontorssidan
var googleMapsImage2 = '/images/18.53bdb7c112f8aece69580002030/loggasokning.png'; //denna måste ändras för nya kontorssidan
var videoWidth = 161;
var videoHeight = 286;
var mapDivId = 'svid10_4c1b31c91325af4dad380002958'; //denna måste ändras för nya kontorssidan


function daysSince(yr, mo, dy) {
	var anniv_date = new Date(yr, mo-1, dy);
	var today = new Date();
	var diff = (today - anniv_date)/1000/60/60/24;
	return parseInt(diff);
}

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
};
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
};
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
};


// Video-funktionen
var Dorado = {
	
	Map:null,
	Offices:null,
	ShowVideo: function(){
	
		jQuery.get(videosPage,function(data){
			
			var videoLinks = jQuery(data).find("a");
			
			if(videoLinks.length>0)
			{

				var videoIndex = daysSince(2011,8,16);
				
				while(videoIndex>=videoLinks.length && videoLinks.length>0)
				{
					videoIndex-=videoLinks.length;
				}
					
				var videoLink = videoLinks[videoIndex];
				
				// Måste ändras till nytt ID för ny webbplats
				jQuery("div#svid10_2237a331308abdc03480007254").html("<object width=\""+videoWidth+"\" height=\""+videoHeight+"\"><param name=\"movie\" value=\""+videoLink+"\"></param><param name=\"wmode\" value=\"transparent\"/><embed wmode=\"transparent\" src=\""+videoLink+"\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" width=\""+videoWidth+"\" height=\""+videoHeight+"\"></embed></object>");
				
			}
		});
	},
	
	
	// Fade-funktionen
	BindBoxes: function(){
	

		// ID = Vänster, mitten och högerspalt
		jQuery("div#svid10_57943c6a132ea9b676d8000906, div#svid10_57943c6a132ea9b676d8000907, div#svid10_57943c6a132ea9b676d8000908")
	
		.mouseover(function(){
			Dorado.HideBoxes(jQuery(this).attr("id"));
		});
		
		// ID = Layouten över de tre kolumnerna
		jQuery("div#svid10_57943c6a132ea9b676d8000903").mouseleave(function(){
			
			Dorado.ShowAllBoxes();
		});
	},
	
	ShowAllBoxes:function(){
		
		// ID = Layouten över de tre kolumnerna
		jQuery("div#svid10_57943c6a132ea9b676d8000903 div").fadeTo(100,1.0, function(){
     		jQuery(this).css("filter","");
     		 });
		
	},
	
	HideBoxes: function(exclude){
	
		// ID = Vänster, mitten och högerspalt
		var boxes = jQuery("div#svid10_57943c6a132ea9b676d8000906, div#svid10_57943c6a132ea9b676d8000907, div#svid10_57943c6a132ea9b676d8000908");
		
		for(i=0;i<boxes.length;i++)
		{
			
			if(jQuery(boxes[i]).attr("id") !== exclude)
			{
				jQuery(boxes[i]).stop(true).fadeTo(100,0.5);
			}	
		
		}

		jQuery("div#" + exclude).fadeTo(100,1.0, function(){
     jQuery(this).css("filter","");
      });
	
	},
	
	SearchKeyPress:function(e)
	{
		if(e.keyCode==13)
			Dorado.SearchMap();
			
	},
	
	CreateMap: function(){
	
		var table = jQuery("<table><tr><td class=\"left\" style=\"vertical-align:top;width:200px;\" /><td class=\"right\" style=\"vertical-align:top;\" /></tr></table>");
		
		var searchdiv = jQuery("<div style=\"border:1px solid #AAAAAA;width:135px;\"><input id=\"dorado_search\" class=\"soktext\" style=\"vertical-align: middle; border-width: 0pt;\" size=\"15\" value=\"Ange s&ouml;kord\" onclick=\"if(this.value = 'Ange s&ouml;kord') this.value='';\" onkeypress=\"Dorado.SearchKeyPress(event)\" type=\"text\"><input src=\""+searchImage+"\" alt=\"Sök\" style=\"vertical-align: middle;\" type=\"image\" onclick=\"Dorado.SearchMap();\" /></div>");
		var infodiv = jQuery("<div id=\"dorado_searchinfo\" style=\"display:none;border:1px solid #AAAAAA;padding:5px;margin-top:20px;\" />");
		
		table.find("td.left").append(searchdiv).append(infodiv);
		
		var mapdiv = jQuery("<div id=\"dorado_googlemap\" style=\"margin-left:20px;border:1px solid #AAAAAA;width:500px;height:400px;\"/>");
		
		table.find("td.right").append(mapdiv);
		
		jQuery("div#" + mapDivId).append(table);
		

	},
	
	SearchMap: function(){
	
		var searchTerm = jQuery("input#dorado_search").val().toLowerCase();
		var found= false;
		
		
		//contains loop
		for(i = 0;i<Dorado.Offices.length;i++)
		{
			Dorado.Offices[i].score = 0;
			
			
			//city starts with
			if(Dorado.Offices[i].city.toLowerCase().replace(" ","").substr(0,searchTerm.length)==searchTerm)
				{Dorado.Offices[i].score+=30	}
				
			
				
	
			
			if(Dorado.Offices[i].city.toLowerCase().replace(" ","").indexOf(searchTerm)!==-1)
				{Dorado.Offices[i].score+=6	}
				
			if(Dorado.Offices[i].zip.toLowerCase().replace(" ","").indexOf(searchTerm)!==-1)
				{Dorado.Offices[i].score+=5	}
			
			if(Dorado.Offices[i].street.toLowerCase().replace(" ","").indexOf(searchTerm)!==-1)
				{Dorado.Offices[i].score+=4	}
				
			if(Dorado.Offices[i].phone.toLowerCase().replace(" ","").indexOf(searchTerm)!==-1)
				{Dorado.Offices[i].score+=3	}
				
			if(Dorado.Offices[i].fax.toLowerCase().replace(" ","").indexOf(searchTerm)!==-1)
				{Dorado.Offices[i].score+=2	}
				
			if(Dorado.Offices[i].email.toLowerCase().replace(" ","").indexOf(searchTerm)!==-1)
				{Dorado.Offices[i].score+=1	}
				
		}
		
		var foundOffice = 0;
		for(var i = 0;i<Dorado.Offices.length;i++)
		{
			//alert(Dorado.Offices[i].score > Dorado.Offices[foundOffice].score);
			
			if(Dorado.Offices[i].score > Dorado.Offices[foundOffice].score)
				foundOffice = i;
		}
		
		//alert(foundOffice);
		
		
		Dorado.ShowOffice(foundOffice);
			
		
	},
	
	ShowOffice: function(i){
		
			Dorado.ResetAllMarkers();
			
			var office = Dorado.Offices[i];
			office.marker.setIcon(googleMapsImage2);
			
			var point = new google.maps.LatLng(office.lat,office.long);
			Dorado.Map.panTo(point);
			Dorado.Map.setZoom(16);
			
			jQuery("div#dorado_searchinfo").html(
				"<b>" + office.street + "</b><br />" + office.zip + " " + office.city + "<br /><br />Telefon: " + office.phone + "<br />Fax: " + office.fax + "<br />E-post: " + office.email
			).show();	
	},
	
	ResetAllMarkers: function(){
		for(var i = 0;i<Dorado.Offices.length;i++)
		{
				Dorado.Offices[i].marker.setIcon(googleMapsImage);
		}	
	},
	
	InitMap: function(){
		var center = new google.maps.LatLng(63.28994, 18.62052);

		var myOptions = {zoom: 4,center:center,mapTypeId: google.maps.MapTypeId.ROADMAP};
		
		Dorado.Map = new google.maps.Map(document.getElementById("dorado_googlemap"), myOptions);
		
		//var marker = new google.maps.Marker({position: galo,map: Dorado.Map,title:"Festlokalen"});
	},
	

	
	InitOffices: function(){
	
		
		jQuery.get(officesPage,null,function(data){
		
			
			
			var videoLinks = jQuery(data).find("div.pagecontent div").not("div#Mittenspalt");
			
	
			Dorado.Offices = [];
			var count = 0;
			for(i = 0;i<videoLinks.length;i++)
			{
	
				var span = jQuery(videoLinks[i]).find("span").html();
				
				if(span===null)
					continue;
									
				var parts = span.split(",");
				if(parts.length>6 && typeof(parts[0])!=="undefined")
				{
					var mail = jQuery(videoLinks[i]).find("a").html();
					if(mail==null)
						mail = "";
					
					var office = {
						long:parseFloat(parts[0].trim()),
						lat:parseFloat(parts[1].trim()),
						street:parts[2].trim(),
						zip:parts[3].trim(),
						city: parts[4].trim(),
						phone: parts[5].trim(),
						fax: parts[6].trim(),
						email: mail.trim(),
						marker:null
					};
					
					var point = new google.maps.LatLng(office.lat,office.long);

					//var map = new google.maps.Map(document.getElementById("google_map"), myOptions);
					office.marker = new google.maps.Marker({ position: point, title: office.street + ", " + office.city,icon:googleMapsImage });
					office.marker.setMap(Dorado.Map);
					office.marker.officeId = count;
					Dorado.Offices[count] = office;
					
					google.maps.event.addListener(office.marker, 'click', function(event) {
						Dorado.ShowOffice(this.officeId);
						//Dorado.Map.setZoom(12);
					});
					
					var a = jQuery("<a/>").html(office.city.split(" ")[office.city.split(" ").length-1]).attr("href","javascript:Dorado.ShowOffice("+count+")");
					
					jQuery("div#svid12_4c1b31c91325af4dad380002960").append(a);
					
					count++;
				}

			}
			
		});	
		
	},
	
	InitStartPage: function(){
		
		jQuery(document).ready(function(){
	
			Dorado.BindBoxes();
			Dorado.ShowVideo();
			
		});
	},
	
	InitMapPage: function(){
		jQuery(document).ready(function(){

			Dorado.CreateMap();
			Dorado.InitMap();
			Dorado.InitOffices();
			
		
		});
	}
	
};
