//
// the name for the checkbox images must contain at the
// end _on or _off
//
// to do:
// artNo needs to be submitted to function
//

//Array of fieldNames in searchForm
fieldArray=new Array();
fieldArray[0]="query";
fieldArray[1]="keyword1";

// used for flash showcases, mainly f1 online
function winOpen(url, breite, hoehe) {
      // Errechnet Koordinaten, um das Popup zentriert zu platzieren
  links = (screen.width/2)-(breite/2);
  oben = (screen.height/2)-(hoehe/2);
  window.open(url,"popup","height="+hoehe+",width="+breite+",status = no,toolbar = no,menubar = no,location = no,resizable = no,titlebar = no,scrollbars = no,fullscreen = no,top ="+oben+",left ="+links);
} 


function showPicture(mypath,WindowX,WindowY,imgno){
	WindowY=WindowY+112;
	WindowX=WindowX+22;		
	picture=window.open(mypath+"showPicture.cfm?imgno="+imgno+"&WindowX="+WindowX+"&WindowY="+WindowY,"Picture","width="+WindowX+",height="+WindowY+",scrollbars=no,status=no, toolbar=no,menubar=no,resizable=no");
	picture.focus();
}

function popup(mypath){
	p=window.open(mypath,'popup','toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbar=yes,resizable=yes,width=620,height=320');	
	p.focus();
}

function switchCheckbox(curElem,otherElemName){
	arrCurElem=document.getElementsByName(curElem.name);
	arrOtherElemName=document.getElementsByName(otherElemName);
	//synchornize checkboxes with same name
	for (i=0;i<arrCurElem.length;i++) 
		arrCurElem[i].checked=curElem.checked;
	if (curElem.checked == false)
		for (i=0;i<arrCurElem.length;i++) 
			arrOtherElemName[i].checked=true;
}

function switchCheckboxByElements(curElem,otherElem){
	if (curElem.checked == false) otherElem.checked=true;	
}

function uncheckCheckbox(elemName){
	arrElem=document.getElementsByName(elemName);
	for (i=0;i<arrElem.length;i++) 
		arrElem[i].checked=false;	
}
function switchCheckboxList(curElem,otherElemNameList){
	
	if (curElem.checked==true) {
		elemNameArray=otherElemNameList.split(",");
		for(i=0;i < elemNameArray.length;i++){
			arrOtherElemName=document.getElementsByName(elemNameArray[i]);
			for (j=0;j<arrOtherElemName.length;j++)
				arrOtherElemName[j].checked=false;			
		}
	}else{
		curElem.checked=true;	
	}
	arrCurElem=document.getElementsByName(curElem.name);
	//synchornize checkboxes with same name
	for (i=0;i<arrCurElem.length;i++) 
		arrCurElem[i].checked=curElem.checked;
}

function switchLightboxBasket(id_a,id_b){
	a=document.getElementById(id_a);
	b=document.getElementById(id_b);
	
	if (a.style.display=="block"){a.style.display="none"}else{a.style.display="block"}
	if (b.style.display=="block"){b.style.display="none"}else{b.style.display="block"}
}



function moveImage(imgNo,moveWhere,isSelected,language) {
	//alert('hallo');
	myImg=new Image(140,140);
	myTarget='';
	myHref='';
	act='';
	prefix='';
	newImgSrc='';
	newTarget=false;
	
	artNo='0';
	addArtNo='';		//this param needs to be submitted to function
	
	
	switch(moveWhere) {
		case ('toBasket'):
			prefix='b_';
			myHref='basket.cfm';
			addArtNo='_'+artNo;
			break;
		case ('fromWindowToBasket'):
			prefix='b_';
			myHref='basket.cfm';
			addArtNo='_'+artNo;
			newTarget=true;
			break;
		case ('fromBasket'):
			prefix='b_';
			myHref='basket.cfm';
			addArtNo='_'+artNo;
			break;
		case ('toLightbox'):
			prefix='l_';
			myHref='lightbox.cfm';
			myTarget='';
			break;
		case ('fromWindowToLightbox'):
			prefix='l_';
			myHref='lightbox.cfm';
			myTarget='';
			newTarget=true;
			break;
		case ('fromLightbox'):
			prefix='l_';
			myHref='lightbox.cfm';
			myTarget='';
			break;
	}
	if (SA) curImg=document.getElementsByName(prefix+imgNo)[0];
	else curImg=getElem("name",prefix+imgNo,0);
	if (curImg.src.search('_on') != -1) {
		// then deselect
		newImgSrc=imgDeselect;
		act='&act=remove';
	}
	else {
		// then select
		newImgSrc=imgSelect;
	}

	curImg.src=newImgSrc;
	if (newTarget)
		opener.parent.lightboxBasket.location.href=myHref+'?no=img_'+imgNo+addArtNo+act+"&language="+language;
	else
		parent.lightboxBasket.location.href=myHref+'?no=img_'+imgNo+addArtNo+act+"&language="+language;

	// if lightbox is changed, then resultframe also needs to be changed
	// this part needs error handling if resultframe doesn't contain the image
	if (moveWhere == 'fromLightbox' || moveWhere == 'fromBasket') {
		if (SA) secImg=document.getElementsByName(prefix+imgNo)[0];
		else secImg=parent.results.document.getElem("name",prefix+imgNo,0);
		if (secImg != null)
			secImg.src=newImgSrc;
	}
	return;
}

function deselectAllImagesInSearch() {
	amount=parent.results.document.images.length;
	for(i=0;i < amount;i++){
		mySrc=parent.results.document.images[i].src;
		if (mySrc.search('_on') != -1)
			parent.results.document.images[i].src=imgDeselect;
	}
}

function cleanField(myFieldname) {
	//var btnName=document.getElementsByName(myFieldname)[0].name+"Btn";
	//document.getElementsByName(btnName)[0].focus();
	if (SA) curField=document.getElementsByName(myFieldname)[0];
	else curField=getElem("name",myFieldname,0);
	if (curField.value == curField.defaultValue)
		curField.value='';
}
function cleanField_array(myFieldname,sw,refValue) {	
	curFields=document.getElementsByName(myFieldname);
	for (i=0;i<curFields.length;i++){
	curField=curFields[i];
		if (sw){
			if ((curField.value == curField.defaultValue))
			curField.value='';
		}else{
			if ((curField.value == refValue))
			curField.value='';
		}
		
	}	
}

function restoreField(myFieldname) {
	if (SA){
		curField=document.getElementsByName(myFieldname)[0];
	} else {
		curField=getElem("name",myFieldname,0);
	}
	if (curField.value == "") curField.value=curField.defaultValue;
}

function restoreField_array(myFieldname) {	
	curFields=document.getElementsByName(myFieldname);
	for (i=0;i<curFields.length;i++){
		curField=curFields[i];
		if (curField.value == "") curField.value=curField.defaultValue;
	}	
}

function restoreFieldDefaultValue(myFieldname) {
	if (SA){
		curField=document.getElementsByName(myFieldname)[0];
	} else {
		curField=getElem("name",myFieldname,0);
	}
	curField.value=curField.defaultValue;
}

function submitSearch(focusedField){
	for (i=0;i<fieldArray.length;i++){
		if (SA){
			curField=document.getElementsByName(fieldArray[i])[0];
		} else {
			curField=getElem("name",fieldArray[i],0);
		}
		if (curField.name!=focusedField) curField.value=curField.defaultValue;
	}
}

function submitSearch_array(myFieldname) {	
	curFields=document.getElementsByName(myFieldname);
	for (i=0;i<curFields.length;i++){
		curField=curFields[i];
		if (curField.name!=focusedField) curField.value=curField.defaultValue;
	}	
}

function resetSelect(myFieldname){
	if (SA) curField=document.getElementsByName(myFieldname)[0];
	else curField=getElem("name",myFieldname,0);
	curField.options[0].selected=true;
}

function switch_search_mode(show,hide,margin){
	objDiv_show=document.getElementById(show);
	objDiv_hide=document.getElementById(hide);
	objDiv_show.className = 'displayBlock';
	objDiv_hide.className = 'displayNone';
	
	document.getElementById("centercontent").style.marginLeft=margin;
	
	//remember current search mode state in session
	if (show=='SearchForm_simple') updateSearchModeState('simple');
		else updateSearchModeState('expert');
}

function updateSearchModeState(searchMode){
	
	url='/f1online/akibase/ajaxResponse/setSearchMode.cfm?searchMode='+searchMode;
	onreadystatechange=function (){};
	var objAjax = new AJAXInteraction(url, onreadystatechange);
	objAjax.doGet();
	
}