//utils for prospect display
var currentImage = new String();
var currentId = new String();
var lastImagePreloaded = new Image();
var nextImagePreloaded = new Image();
var picture_count = 0;


function countPictures() {
	var counter = 0;
	for(var i in pictures){
		
		counter++;
	}	
	picture_count = counter;

}

//Method for caching pictures in an array
function cacheImages(a){
	//alert("Length:" + a.length);	
}



function createXMLHttp(){
	if (typeof XMLHttpRequest != "undefined"){
		return new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		var aVersions = ["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp"];
		
		for (var i = 0; i < aVersions.length; i++){
			try {
				var oXmlHttp = new ActiveXObject(aVersions[i]);
				return oXmlHttp;
			} catch (oError) {
				//Do Nothing
			}
		}
	}
	throw new Error("XMLHttp object could not be created");
}

function fakecount(id, bid){
	var oXML = createXMLHttp();
	oXML.open("get", "../prospekt/ny.gif?ny="+id+"&page=bilde&broker="+bid, true);	
	oXML.onreadystatechange = function() {
		if (oXML.readyState == 4){
				//Do Nothing
				//pageview();
		}
	};
	oXML.send(null);
	
}

/*function pageview(){
	var oXML = createXMLHttp();
	oXML.open("get", "http://click.dagbladet.no/pageviews/?ny", true);	
	oXML.onreadystatechange = function() {
		if (oXML.readyState == 4){
				//Do Nothing
		}
	};
	oXML.send(null);
}*/

function updateCurrentId(newId){
	document.getElementById(newId).className = 'thumbnail-aktiv';
	if (document.getElementById(currentId) != document.getElementById(newId) ) {
		document.getElementById(currentId).className = 'thumbnail-inaktiv' ;
	}

	currentId = newId;
}
function loadImage(id){
	document.getElementById("displaypicture").src = pictures[id];
	currentImage = pictures[id];
	if(currentId != "")	 updateCurrentId(id);
	if(id != "") setImageNr(id);
}

function loadImage2(id, pid, bid){
	fakecount(pid, bid);
	document.getElementById("displaypicture").src = pictures[id];
	currentImage = pictures[id];
	if(currentId != "")	 updateCurrentId(id);
	if(id != "") setImageNr(id);
}

function nextImage(id,bid){
	fakecount(id,bid)
	var count = 0;
	var status = 0;
	var firstpic = new String();
	
	for(var i in pictures){
		if(count == 0){
			firstpic = i;
		}
		if(status==1){
			document.getElementById("displaypicture").src = pictures[i];
			currentImage = pictures[i];
			updateCurrentId(i);
			break;
		}
		
		if(pictures[i] == currentImage){
			//alert("MATCH:"+pictures[i]+" LENGDE:"+picture_count+" COUNT:"+count);
			if((count+1) >= picture_count){
				document.getElementById("displaypicture").src = pictures[firstpic];
				
				currentImage = pictures[firstpic];
				updateCurrentId(firstpic);
			}else{
				status = 1;
			}
			

		}
		count++;
	}
	nextImageNr();
}

function prevImage(id, bid){
	fakecount(id, bid)
	var count = 0;
	var status = 0;
	var lastpic = new String();
	var prevpic = new String();
	var prevprevpic = new String();
	for(var i in pictures){
		if(((count+1) == picture_count) && (status==1)){
			lastpic = i;
			prevpic = i;
			document.getElementById("displaypicture").src = pictures[i];
			currentImage = pictures[i];
			updateCurrentId(i);
		}
		
		if(pictures[i] == currentImage){

			if(count == 0){
				status = 1;				
			}else{
				document.getElementById("displaypicture").src = pictures[prevpic];
				currentImage = pictures[prevpic];
				updateCurrentId(prevpic);
				break;
			}
			

		}
		preprevvpic = prevpic;
		prevpic = i;
		count++;
		
	}
	prevImageNr();
}

// Note:
// These three functions are basically not in use anymore. They were used to update the counter
// over each image (image xx of yy), but that functionality has since been replaced by the transparent
// left/right arrows and jQuery. However, the functions will still remain in here out of fear for
// damaging the fragile framework (that will be replaced).
function setImageNr(imageNr) {
    return;
    document.getElementById("currentImageNr").innerHTML = imageNr;	
}

// See comment above.
function prevImageNr() {
    return;
    var total = parseInt(document.getElementById("currentImageTotal").innerHTML);	
	var current = parseInt(document.getElementById("currentImageNr").innerHTML);	
	if (current <= 1) {
		document.getElementById("currentImageNr").innerHTML = total;
	}
	else {
		 document.getElementById("currentImageNr").innerHTML = (current - 1);	
	}
}

// See comment above.
function nextImageNr() {
    return;
    
	var total = parseInt(document.getElementById("currentImageTotal").innerHTML);	
	var current = parseInt(document.getElementById("currentImageNr").innerHTML);	
	if (current >= total) {
		document.getElementById("currentImageNr").innerHTML = 1;
	}
	else {
		 document.getElementById("currentImageNr").innerHTML = (current + 1);	
	}
}


//MAP PAGE SECTION

var mapimg;
var mapurl;
var mappanH = 0;
var mappanV = 0;
var mapzoom = 2;
//var mapdelta = new Array(300,1400,7000,21000);
var mapdelta = new Array(0.002,0.008,0.04,0.12);
var poistr = '';
function initMap() {
  for (c=0; c<document.images.length; c++) {
    if (document.images[c].name == 'map') {
	  mapimg = document.images[c];
	  break;
    }
  }
  mapimg.onmouseup=clickMap;
  mapurl = mapimg.src;
}
function panMap(h,v,z)
{
  mapzoom += z;
  if (mapzoom > 4) mapzoom = 4;
  if (mapzoom < 1) mapzoom = 1;
  mappanH += (h*mapdelta[mapzoom-1]);
  mappanV += (v*mapdelta[mapzoom-1]);
  mapimg.src = mapurl + "/"  + poistr + "/" + mappanV + "," + mappanH + "," + mapzoom;
  //alert(mapimg.src);
}
function resetMap()
{
  mapimg.src = mapurl;
  mappanH = 0;
  mappanV = 0;
  mapzoom = 2;
}
function updatePOI() {
 	poistr = '';
	f = document.forms.POI;
	for (c=0; c<f.elements.length; c++) {
		if (f.elements[c].type == 'checkbox' && f.elements[c].checked) {
			poistr += f.elements[c].value + ',';
		}
	}
	poistr = poistr.replace(/,$/,"");
	mapimg.src = mapurl + "/"  + poistr + "/" + mappanV + "," + mappanH + "," + mapzoom;
  //alert(mapimg.src);
  return false;
}
function clickMap(e) {
  return false;
}

