oc_inited=false;
objList_inited=false;
var ofv_count;
function doOnload_extended() {
	oc.init();
	objList.init();
}
var oc={
	init: function() {
		oc_inited=true;
		oim_array=new Array();
		if (view == 'card') {
			oc.setOfv();
		}
	},
	setOfv: function() {
		if (oc_inited) {
			for (var i=0;i<ofv_array.length;i++) {
				oc.updateOfvIcon(ofv_array[i],true);
			}
			oc.updateOfvInfo();
		}
	},
	updateOfvIcon: function(simpleId,setToActive) {
		if (oc_inited) {
			if (get_object('ofv_'+simpleId)) {
				var ofvIcon=get_object('ofv_'+simpleId);
				ofvIcon.className=(setToActive)?'ofa':'ofi';
				ofvIcon.title=(setToActive)?'Ta bort från favoriter':'Lägg till som favorit';
			}
		}
	},
	updateOfvInfo: function() {
		if (oc_inited) {
			get_object('ofv_info').style.display=(ofv_count == 0)?'none':'block';
			get_object('ofv_count').innerHTML=ofv_count+' ';//the space is for IE :)
		}
	},
	oc: function(o) {//on click
		if (oc_inited) {
			switch (o.className) {
				case 'oim_n':
					var simpleId=o.parentNode.parentNode.id.split('_')[1];
					var idx=oim_array.getIndex('id',simpleId);
					//possibly init oim_array if first browsing for obj
					if (idx == -1)
						idx=oc.initOimArray(simpleId);
					var currentRank=parseInt(oim_array[idx]['rank']);
					var nextRank=currentRank+1;
					var url='ajax_getOim_next.cfm?simpleId='+simpleId+'&rank='+nextRank;
	//				trace(url);
					loadAJAX('oim',url,'text');
				break;
				case 'oc':
					var simpleId=o.id.split('_')[1];
					window.location.href='index.cfm?x=obj&id='+simpleId;
				break;
				case 'ofi':
				case 'ofa':
					var simpleId=o.parentNode.parentNode.id.split('_')[1];
					var idx=oim_array.getIndex('id',simpleId);
					var url='ajax_setOfv.cfm?simpleId='+simpleId+'&activate='+(o.className == 'ofi');
//					trace(url);
					loadAJAX('ofv',url,'text');
				break;
			}
		}
	},
	initOimArray: function(simpleId) {
		if (oc_inited) {
			//init oim
			var idx=oim_array.length;
			oim_array[idx]=new Array();
			oim_array[idx]['id']=simpleId;
			oim_array[idx]['rank']=1;
			return idx;
		}
	},
	showMore: function() {
		oc.setShowMoreBoxDisplay(false);
		if (!obj_allCardsVisible) {
			if (obj_outputtedAmount < obj_recordcount) {
//				get_object('cardDebugger').innerHTML+='<br />call ajax';
				//get more cards by ajax
				//create independent copy of obj_array
				var foo_array=obj_array.slice();
				//insert break point at index for last outputted objId
				foo_array[obj_outputtedAmount-1]='@';
				if (obj_recordcount > obj_outputtedAmount+obj_amountForNextUnit) {
					//should NOT get all of the rest - insert break point at index for last objId to get
					foo_array[obj_outputtedAmount+obj_amountForNextUnit-1]='@';
				}
				var foo=foo_array.toString();//convert to string
				var objId_next=foo.split('@')[1];//get list after/between break point/s
				objId_next=objId_next.replace(/^,/,'');//remove leading comma sign
				objId_next=objId_next.replace(/,$/,'');//remove ending comma sign
				var url='ajax_getOc.cfm?objId='+objId_next;
//				get_object('cardDebugger').innerHTML+='<br />'+url;
				loadAJAX('oc',url);
			} else {
				oc.showAllHidden();
			}
		}
	},
	setShowMoreBoxDisplay: function(show) {
//		get_object('cardDebugger').innerHTML+='<br />setShowMoreBoxDisplay('+show+')';
		get_object('showMoreBox').style.display=(show)?'block':'none';
		get_object('showMoreBox').style.visibility=(show)?'visible':'hidden';
//		get_object('showMoreBox').style.display=(show)?'block':'block';
//		get_object('showMoreBox').style.visibility=(show)?'visible':'visible';
	},
	showAllHidden: function() {
		//show rest that is hidden
		for (i=0;i<cards.length;i++) {
			cards[i].style.display='block';
		}
		obj_allCardsVisible=true;
	},
	updateShowMore: function() {
		if (!obj_allCardsVisible) {
			var showMoreBox=get_object('showMoreBox');
			//make even ending of bottom cards
			var obj_amountThatShouldBeVisible=obj_visibleUnits*obj_perRow*obj_rowsPerUnit;
			var i;
			if (obj_amountThatShouldBeVisible > obj_recordcount) {
				//all should be visible
				for (i=0;i<cards.length;i++) {
					cards[i].style.display='block';
				}
				//hide more box
				oc.setShowMoreBoxDisplay(false);
				obj_allCardsVisible=true;
			} else {
//				get_object('cardDebugger').innerHTML+='<br />set block/none - obj_outputtedAmount '+obj_outputtedAmount+' - obj_amountThatShouldBeVisible '+obj_amountThatShouldBeVisible;
				//set block/none
				var loopTo=(obj_outputtedAmount > cards.length-1)?cards.length-1:obj_outputtedAmount;
				for (i=0;i<=loopTo;i++) {
					if (i >= obj_amountThatShouldBeVisible) {
						cards[i].style.display='none';
					} else {
						cards[i].style.display='block';
					}
				}
				obj_lastVisible=obj_amountThatShouldBeVisible;
				//calculate amount of next unit
				obj_amountForNextUnit=obj_rowsPerUnit*obj_perRow;
				if (obj_amountThatShouldBeVisible+obj_amountForNextUnit > obj_recordcount)
					obj_amountForNextUnit=obj_recordcount-obj_amountThatShouldBeVisible;
				//show more info
				if (obj_amountForNextUnit > 0) {
					showMoreBox.style.width=largestWidth+144+"px";
					get_object('showMoreAmount').innerHTML=obj_amountForNextUnit;
					oc.setShowMoreBoxDisplay(true);
				} else {
					oc.setShowMoreBoxDisplay(false);
					obj_allCardsVisible=true;
				}
			}
		}
	}
}
function popAJAX_oc(responseXML) {
	var i;
//	get_object('cardDebugger').innerHTML+='<br />ajax response';
	//first show all possible already outputted that is hidden
	for (i=obj_lastVisible;i<obj_outputtedAmount;i++) {
		cards[i].style.display='block';
	}
	var objTag=responseXML.getElementsByTagName('obj');
	var i,objId,existed;
	var hits=objTag.length;
	var missing_array=new Array();
	var o;
	//increase unit counter
	obj_visibleUnits++;
	for (i=0;i<hits;i++) {
		objId=objTag[i].attributes[0].nodeValue;
		existed=parseInt(objTag[i].attributes[1].nodeValue);
		if (existed == 1) {
			o=get_object('obj_'+objId);
			o.innerHTML=objTag[i].firstChild.data;
			o.style.display='block';
		} else {
			//mark obj as missing
			missing_array.push(objId);
		}
	}
	//handle possible missing card holders
	obj_outputtedAmount+=hits-missing_array.length;
	if (missing_array.length != 0) {
		obj_array.removeItems(missing_array.toString());
		for (i=0;i<missing_array.length;i++) {
			o=get_object('obj_'+missing_array[i]);
			o.className='obhld_missing';
			o.style.display='none';
		}
		//re-get cards array
		cards=document.getElementsByClassName('obhld');
	}
	oc.updateShowMore();
}
var objList={
	init: function() {
		objList_inited=true;
	},
	changeOrderBy: function(orderBy,orderByType) {
		if (objList_inited) {
			var theForm=document.form_search;
			theForm.orderBy.value=orderBy;
			theForm.orderByType.value=orderByType;
			theForm.mode.value=mode;//overrides mode search that is hardcoded into form. convient to do this in fav mode
			theForm.submit();
		}
	},
	myObjTrOver: function(o) {
		if (objList_inited) {
			o.style.backgroundColor='#EEE';
		}
	},
	myObjTrOut: function(o) {
		if (objList_inited) {
			o.style.backgroundColor='';
		}
	},
	editObj: function(simpleId) {
		if (objList_inited) {
			var theForm=document.form_editObj;
			theForm.action='index.cfm';
			theForm.x.value='editObj';
			theForm.simpleId.value=simpleId;
			theForm.submit();
		}
	},
	showSubCtg: function(ctgId) {
		if (objList_inited) {
			var theForm=document.form_search;
			var theCtg=theForm.search_ctg;
			for (var i=0;i<theCtg.options.length;i++) {
				if (theCtg.options[i].value == ctgId) {
					theCtg.options[i].selected=true;
					break;
				}
			}
			theForm.submit();
		}
	},
	removeObj: function() {
		if (objList_inited) {
			var theForm=document.form_objList;
			var objIdList=theForm.objIdList;
			var chkCount=getCheckedValues(objIdList,'count');
			if (chkCount != 0) {
				if (confirm("Är du säker på att du vill ta bort "+chkCount+" annonser?")) {
					theForm.act.value='remove';
					theForm.submit();
				}
			}
		}
	}
}
function popAJAX_oim(response) {
	var values=trim(response);
	if (values != 'no') {
		var value_array=values.split(';');
		var simpleId=value_array[0];
		var oimImage=value_array[1];
		var rank=parseInt(value_array[2]);
//		trace(values);
		var oimDiv=get_object('oim_'+simpleId);
		oimDiv.style.backgroundImage='url(photo/medium/'+oimImage+')';
//		trace(oimDiv.style.backgroundImage);
		var idx=oim_array.getIndex('id',simpleId);
		oim_array[idx]['rank']=rank;
	}
}
function popAJAX_ofv(response) {
	var values=trim(response);
	var value_array=values.split(';');
	var simpleId=value_array[0];
	var isNowFavourite=value_array[1];
	ofv_count+=(isNowFavourite == 'true')?1:-1;
	oc.updateOfvInfo();
	oc.updateOfvIcon(simpleId,(isNowFavourite == 'true'));
}


