/* 

foretagClass.js
@author: Hjalmar 
@date: 23 mars 2007, gothenburg
*/

function foretagClass() {
	function foretag(logo,namn,link,pris,pris_str,leveranstid) {
		this.logo=logo;
		this.namn=namn;
		this.link=link;
		this.pris=pris;
		this.pris_str=pris_str;
		this.leveranstid=leveranstid;
		return this;
	}
	
	function addForetag(logo,namn,link,pris,pris_str,leveranstid) {
		//console.log('addforetag: logo='+logo);
		this.foretagArray.push(new foretag(logo,namn,link,pris,pris_str,leveranstid));	
	}
	
	function fsort() {
	 this.foretagArray.sort(prisSort);
	}
	
	function getAntal() {
		return this.foretagArray.length;
	}
	
	function getForetagDOM(i) {
		
		placeHolderDiv = document.createElement('div');
		placeHolderDiv.id = 'pris_placeholder_'+i;
		foretagDiv = document.createElement('div');
		foretagDiv.id = this.foretagArray[i].namn;

		foretagInnerDiv = document.createElement('div');
		foretagInnerDiv.className = this.foretagArray[i].namn;
		
		pris_strSpan = document.createElement('span');
		pris_strSpan.className = 'price';
		pris_strSpan.appendChild(document.createTextNode(this.foretagArray[i].pris_str));

		deliverySpan = document.createElement('span');
		deliverySpan.className = 'delivery';
		deliverySpan.appendChild(document.createTextNode(this.foretagArray[i].leveranstid));
		
		logoSpan = document.createElement('span');
		logoSpan.className = 'name';
		logoImg = document.createElement('img');
		logoImg.src = this.foretagArray[i].logo;
		logoImg.style.border = '0px';
		logoSpan.appendChild(logoImg);
		
		
		linkSpan = document.createElement('span');
		
		if (this.foretagArray[i].link.length>0) {
			foretagLink = document.createElement('a');
			foretagLink.href = this.foretagArray[i].link;
			foretagLink.target = '_blank';
			foretagLink.appendChild(document.createTextNode('Köp boken'));
		
			linkSpan.appendChild(foretagLink);
		}
		linkSpan.className = 'link';
		
		foretagInnerDiv.appendChild(pris_strSpan);
		foretagInnerDiv.appendChild(deliverySpan);
		foretagInnerDiv.appendChild(linkSpan);
		foretagInnerDiv.appendChild(logoSpan);

		foretagDiv.appendChild(foretagInnerDiv);
		
		placeHolderDiv.appendChild(foretagDiv);
		return placeHolderDiv;
	}
	
	function returnDOM() {
		foretagSortedDiv = document.createElement('div');
		foretagSortedDiv.id = 'foretagSortedDiv';
		for (i=0;i<this.foretagArray.length;i++) {
			foretagSortedDiv.appendChild(this.getForetagDOM(i));
		}
		return foretagSortedDiv;
	}
	
	this.foretagArray = new Array();
	this.fsort = fsort;
	this.addForetag = addForetag;
	this.getAntal = getAntal;
	this.getForetagDOM = getForetagDOM;
	this.returnDOM = returnDOM;
	return this;
}

function prisSort(r1,r2) {
	retVal = 0;
	if (r1.pris*1>r2.pris*1) { 
		retVal=1; 
	} else if (r1.pris*1<r2.pris*1) {
		retVal=-1; 
	}
	//console.log(r1.pris + ' ' + r2.pris + ' ret:'+ retVal); 
	return retVal;	
	
}
