function mainResize() {
	var bottom=document.getElementById("bottom");
	var bottomHeight=(bottom != null) ? bottom.clientHeight : 0;
	
	var logo=document.getElementById("logo");
	var logoHeight=(logo != null) ? logo.clientHeight : 0;
	
	var otherHeight=bottomHeight+logoHeight+18;
	
	var models=document.getElementById("models");
	if (models != null)
		models.style.height=document.body.clientHeight-otherHeight;

	var mainarea=document.getElementById("mainarea");
	if (mainarea != null)
		mainarea.style.height=document.body.clientHeight-otherHeight;

	var picarea=document.getElementById("picarea");
	if (picarea != null)
		picarea.style.height=document.body.clientHeight-bottomHeight-10;
}

function changeModelSelect() {
	var select=document.getElementById("modelSelecter");
	if (select.selectedIndex > 0)
		select.form.submit();
}


function set(name, to) {
	document.getElementById("pic" + name).src=path + "/img/" + to;
}
function on(name) {
	if (name == "bestage")
		document.getElementById("bestageSelect").style.visibility="visible";
	else if (name == "onstay")
		document.getElementById("onstaySelect").style.visibility="visible";
	else
		set(name, name + "_hi.gif")
}
function off(name) {
	if (name == "bestage")
		document.getElementById("bestageSelect").style.visibility="hidden";
	else if (name == "onstay")
		document.getElementById("onstaySelect").style.visibility="hidden";	
	else
		set(name, name + ".gif")
}
function toggle(what) {
	if (hi != null) 
		off(hi);

	on(what);
	hi=what;
}

function glow(name) {
	set(name, name + "_hi.gif");
}
function no(name) {
	set(name, name + ".gif");
	if (hi != null && hi == name) 
		on(hi);
}

function parseTemplate(name, img) {
	var tmpl=templates[name];
	if (img != null)
		tmpl=tmpl.replace(/IMG/g, img);
	return tmpl;
}

function goPrev() {
	if (rightIndex-2 >= 0) {
		rightIndex=rightIndex-2;
		leftIndex=leftIndex-2;	
		goNowhere();
	}
	if (leftIndex == -1) {
		document.getElementById("left").innerHTML=document.getElementById("data").innerHTML;
		document.getElementById("data").innerHTML="&nbsp;";
	}
}


function goNext() {
	if (leftIndex+2 < files.length) {
		if (leftIndex == -1) {
			document.getElementById("data").innerHTML=document.getElementById("left").innerHTML;
			document.getElementById("left").className="";
		}
		leftIndex=leftIndex+2;
		rightIndex=rightIndex+2;
		goNowhere();
	}
}

function resetDeselection() {
	document.getElementById("left").className="";
	document.getElementById("right").className="";
}

function goNowhere() {

	if (leftIndex > -1) {
		var leftContent=parseTemplate("left", files[leftIndex].file);
		var leftClassname=null;
		if (modelIsSelected && isDeselectable) {
			if (!files[leftIndex].selected) {
				leftContent=leftContent + parseTemplate("leftselect", null);
				leftClassname="deselected";
			}
			else {
				leftContent=leftContent + parseTemplate("leftdeselect", null);
				leftClassname="";
			}
		}
		var left=document.getElementById("left");
		if (leftClassname != null)
			left.className=leftClassname;
		left.innerHTML=leftContent;
	}


	var rightContent;
	var rightClassname=null;
	if (rightIndex < files.length) {
		rightContent=parseTemplate("right", files[rightIndex].file);
		var rightClassname=null;
		
		if (modelIsSelected && isDeselectable) {
			if (!files[rightIndex].selected) {
				rightContent=rightContent + parseTemplate("rightselect", null);
				rightClassname="deselected";
			}
			else {
				rightContent=rightContent + parseTemplate("rightdeselect", null);
				rightClassname="";
			}
		}
	}
	else {
		rightContent=parseTemplate("empty", null);
		rightClassname="";
	}
	
	var right=document.getElementById("right");
	if (rightClassname != null)
		right.className=rightClassname;
	right.innerHTML=rightContent;

}

var xmlhttp;
var ie=(navigator.appName=="Microsoft Internet Explorer");

function callXmlHttp(url, cb) {
	if(!xmlhttp || ie)
		xmlhttp=createXmlHttp();

	xmlhttp.onreadystatechange = function() {
		if(xmlhttp.readyState == 4) {
			if (cb == null)
				eval(xmlhttp.responseText);
			else
				cb(xmlhttp.responseText);
		}
	}

	xmlhttp.open("GET", url, true);
	xmlhttp.send(null);
}

function createXmlHttp() {
	var xmlhttp;
	try {
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(ex) {
		try {
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch(except) {
			xmlhttp=null;
		}
	}

	if(!xmlhttp && typeof XMLHttpRequest != "undefined") 
		xmlhttp=new XMLHttpRequest();
	
	return xmlhttp;
}

function toggleModelMiniSelection(modelId) {
	callXmlHttp(path + "/ajax/miniselecttoggle.js?id=" + modelId);
}
function toggleModelSelection() {
	callXmlHttp(path + "/ajax/" + (modelIsSelected ? "de" : "") +  "select.js?id=" + modelId);
}

function selectModelMini(modelId, isSelected) { // ajax cb
	document.getElementById("modelselect" + modelId).src=path + (isSelected ? "/img/minus.gif" : "/img/plus.gif");
}
function selectModel(isSelected) { // ajax cb
	modelIsSelected=isSelected;
	document.getElementById("selectImg").src=path + "/img/" + (isSelected ? "de" :"") + "select.gif";
	var modelSelectControl=document.getElementById("modelSelectControl");
	if (modelSelectControl != null) 
		modelSelectControl.style.visibility=(modelIsSelected) ? "visible" : "hidden";

	if (!modelIsSelected) {
		for (var i=0; i<files.length; i++) 
			files[i].selected=true;
			
		resetDeselection();
	}
	goNowhere();
}
function toggleLeftPicSelection() {
	togglePicSelection(files[leftIndex]);
}
function toggleRightPicSelection() {
	togglePicSelection(files[rightIndex]);
}
function togglePicSelection(file) {
	callXmlHttp(path + "/ajax/" + (file.selected ? "de" : "") +  "selectpic.js?id=" + modelId +  "&picId=" + file.id);
}
function getFileIds() {
	var ids=[];
	for (var i=0; i<files.length; i++)
		ids[ids.length]=files[i].id;
		
	return ids.join(",");
}
function deselectAllPics() {
	callXmlHttp(path + "/ajax/deselectpic.js?id=" + modelId + "&picId=" + getFileIds());
}
function selectAllPics() {
	callXmlHttp(path + "/ajax/selectpic.js?id=" + modelId + "&picId=" + getFileIds());
}

function selectPic(id, isSelected) { // ajax cb
	for (var i=0; i<files.length; i++) {
		var file=files[i];
		if (file.id == id) {
			file.selected=isSelected;
			goNowhere();
			break;
		}
	}	
}
function openSelection() { // ajax cb
	var id=prompt("Bitte geben Sie die Selection-Nr. ein: \n\nPlease enter selection no:");
	if (id)
		top.page.location.href=path + "/page/selection.html?id=" + id;
}
function showSelection() { // ajax cb
	top.page.location.href=path + "/page/selection.html";
}



function printPage() {
	var leftFile=files[leftIndex];
	var rightFile=files[rightIndex];	
	var printFiles=[];
	if (leftFile != null)
		printFiles[printFiles.length]=leftFile.id;
	if (rightFile != null)
		printFiles[printFiles.length]=rightFile.id
	
	window.open(path + '/pdf/book/' + modelName + '.pdf?id=' + modelId + '&picId=' + printFiles.join(","), 'print', 'width=800,height=800,resizable=no,location=no,menubar=no,status=no,toolbar=no');
}
function printBook() {
	window.open(path + '/pdf/book/' + modelName + '.pdf?id=' + modelId, 'print', 'width=800,height=800,resizable=no,location=no,menubar=no,status=no,toolbar=no');
}
function printPolaroids() {
	window.open(path + '/pdf/polaroids/' + modelName + '.pdf?id=' + modelId, 'print', 'width=800,height=800,resizable=no,location=no,menubar=no,status=no,toolbar=no');
}
function printCuttings() {
	window.open(path + '/pdf/cuttings/' + modelName + '.pdf?id=' + modelId, 'print', 'width=800,height=800,resizable=no,location=no,menubar=no,status=no,toolbar=no');
}
function printSelection(mode) {
	window.open(path + '/page/selection-print.html?mode=' + mode, 'print', 'width=800,height=800,resizable=no,location=no,menubar=no,status=no,toolbar=no');
}

function printAndClose() {
	window.print();
	window.close();
}

function toggleSound() {
	window.top.nav.pause();
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function showMiniSelect(id, show) {
	var ref=document.getElementById("modelselect" + id);
	if (!show) {
		if (ref.src != null && ref.src.indexOf("minus") != -1)
			return;
	}
	ref.style.visibility=(show) ? "visible" : "hidden";
}



