/* common javascript functions for client side */

function getWindowWidth() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  //window.alert( 'Width = ' + myWidth );
  //window.alert( 'Height = ' + myHeight );
  return myWidth;
}


/* AJAX calls */

function sendMailToPool(formId)
{
		//alert('sending mail... '+$(formId).serialize(false));
		var url = 'mail_send.php';
		var myAjax = new Ajax.Request(
			url,
			{
			method: 'post'
			,parameters: $(formId).serialize(true)
			,onComplete: function (req)
				{
				  $('dropbox').innerHTML=req.responseText;
				 }
			}); 
}

function signinOnthefly(formId)
{
  var url = 'session_quereinstieg_auth.php';
  var myAjax = new Ajax.Request(
	url,
   	{
     	method: 'post'
  		,parameters: $(formId).serialize(true)
     	,onComplete: function (req)
                {
                  //alert('FAKE: sign in on the fly ');
                  $('debuginfo').innerHTML+=req.responseText;
                  $('top_menu').innerHTML=req.responseText;
                 }
   }); 
}



function getMetadata(imgId)
{
  //!!! document.getElementById("image_"+imgId).classname="focus";
  var url = 'photo_metadata.php';
  var params = '&id='+imgId +'&rnd='+ new Date().getTime();
  //alert('server call: '+url+'?'+params);
  var myAjax = new Ajax.Request(
   url,
   {
     method: 'post'
     ,postBody: params
     ,onComplete: function (req)
                {
        // !!! use req.responseXML and dispatch
        //document.getElementById("cpreview_text").innerHTML = req.responseText;
        //document.getElementById("debuginfo").innerHTML += '<hr>'+req.responseText+'<hr>';
		
		/*
		$('czoom').style.width=imgWidth;
		$('cpreview').style.width=imgWidth;
		$('slider_value').innerHTML=imgWidth;
		*/
        var xmlDoc=req.responseXML;

        var metadata=xmlDoc.getElementsByTagName("metadata")[0].childNodes[0].nodeValue;
        document.getElementById("cpreview_text").innerHTML = metadata;

        var cid=xmlDoc.getElementsByTagName("id")[0].childNodes[0].nodeValue;
        document.getElementById("cpreview_id").innerHTML = cid;
        document.getElementById("debuginfo").innerHTML += '<br>cid='+cid;

        //var preview=xmlDoc.getElementsByTagName("preview")[0].childNodes[0].nodeValue;
        var preview="photo_show.php?nummer="+cid;
        // !!! use DOM with attrinute width !!! 
        document.getElementById("cpreview").innerHTML ='<img src="' +preview+ '"' + 'alt="jpeg_'+cid+'">';
        //document.getElementById("cpreview").innerHTML ='<img src="' +preview+ '"' + 'width="'+imgWidth+'"' + 'alt="jpeg_'+cid+'">';
        document.getElementById("debuginfo").innerHTML += ' preview='+preview;
       
//!! need a separate dragdrop function: image_xx cannot be defined here
        new Draggable("cpreview_image_id", {revert:true});

                }
   });
}




function makeVerticalText(username,fullname) 
{
  var url = 'verticaltext.svg.php';
  var params = 'username='+username+'&fullname='+fullname;
  //alert('calling '+url+' with params '+params);  
  //document.getElementById("userdata").innerHTML += 'calling '+url+'?'+params;
  var myAjax = new Ajax.Request(
   url,
   {
     method: 'post'
     ,postBody: params
     ,onComplete: function (req) 
		{
		// generates a SVG file with the fullname
		// only this side effect is being used,  req.response is not used
		filename=req.responseText;
		//alert(filename)
		/*
		var out="";
		out+='<object data="'+filename+'" width="1em" height="'+fullname.length+'em" type="image/svg+xml">'
		out+='<embed src="'+filename+'" width="1em" height="'+fullname.length+'em" type="image/svg+xml" />'
		out+='</object>'
		//document.getElementById("vertical_username").innerHTML = req.responseText;
		document.getElementById("vertical_username").style.width = "1.3em";
		document.getElementById("vertical_username").style.height = fullname.length+"em";
		document.getElementById("vertical_username").innerHTML = out;
		*/
		}
   }); 
}


function push2dropbox(imgId) 
{
  var url = 'dropbox_fill.php';
  var params = 'nummer='+imgId +'&rnd='+ new Date().getTime();
  //alert('server call with params '+params);  //document.getElementById("dropbox").innerHTML += 'calling '+url+'?'+params;
  var myAjax = new Ajax.Request(
   url,
   {
     method: 'post'
     ,postBody: params
     ,onComplete: function (req) 
		{
	document.getElementById("dropbox").innerHTML += req.responseText;
	//document.getElementById("dropbox_info").innerHTML += " "+imgId;
		}
   }); 
}

function push2lightbox(imgId) 
{
  var url = 'lightbox_fill.php';
  var params = 'nummer='+imgId +'&rnd='+ new Date().getTime();
  //alert('server call with params '+params);  
  //document.getElementById("dropbox").innerHTML += 'calling '+url+'?'+params;
  var myAjax = new Ajax.Request(
   url,
   {
     method: 'post'
     ,postBody: params
     ,onComplete: function (req) 
		{
	document.getElementById("dropbox").innerHTML += req.responseText;
	//document.getElementById("dropbox_info").innerHTML += " "+imgId;
		}
   }); 
}

function move2blackhole(box,imgId) 
{
  var url = 'box_remove_image.php';
  var params = 'box='+box+'&nummer='+imgId +'&rnd='+ new Date().getTime();
  //alert('server call with params '+params);
  var myAjax = new Ajax.Request(
   url,
   {
     method: 'post'
     ,postBody: params
     ,onComplete: function (req) 
		{
	document.getElementById("blackhole").innerHTML += req.responseText;
		}
   }); 
}

function make_lightbox() 
{
  var url = 'lightbox_make.php';
  var params = 'rnd='+ new Date().getTime(); 
  //alert('server call with url '+url); 
  var myAjax = new Ajax.Request(
   url,
   {
     method: 'post'
     ,postBody: params
     ,onComplete: function (req) 
		{
	//document.getElementById("dropbox").innerHTML += req.responseText;
	document.getElementById("box_info").innerHTML = req.responseText;
	//document.getElementById("boxname").innerHTML = "lightbox";
		}
   });
}

function get_box_summaries(origin) 
{
  var url = 'box_get_summaries.php';
  var params = 'source='+origin  +'&rnd='+ new Date().getTime();
  document.getElementById("dropbox").innerHTML = '';
  var myAjax = new Ajax.Request(
   url,
   {
     method: 'post'
     ,postBody: params
     ,onComplete: function (req) 
		{
	document.getElementById("dropbox").innerHTML += req.responseText + " ...";
	//document.getElementById("dropbox").innerHTML += "click <b>edit</b> to display all images";
		}
   });
}

function get_box(origin,id) 
{
  var url = 'box_get_content.php';
  var params = 'source='+origin +'&id='+id +'&rnd='+ new Date().getTime();
  document.getElementById("dropbox").innerHTML = '';
  var myAjax = new Ajax.Request(
   url,
   {
     method: 'post'
     ,postBody: params
     ,onComplete: function (req) 
		{
	document.getElementById("dropbox").innerHTML += req.responseText + " ...";
	//document.getElementById("dropbox").innerHTML += "click <b>edit</b> to display all images";
		}
   });
}

function get_feature(id)
{
	var url = 'feature_get_content.php';
	var params = 'id='+id +'&rnd='+ new Date().getTime();
    document.getElementById("dropbox").innerHTML = '';
	var myAjax = new Ajax.Request(
	     url,
	        {
		     method: 'post'
		     ,postBody: params
			 ,onComplete: function (req)
			             	{
				 document.getElementById("cpreview").innerHTML = 
		        "<a href='hits.php?action=feature&source=feature&show_feature=" +id +"'>> edit</a> <br/>";
				 document.getElementById("cpreview").innerHTML += req.responseText;
					}
		});
 }

function download_photos(origin,quality,id) 
{
  var url = 'download_photos.php';
  var params = 'source='+origin +'&quality='+quality+'&object_id='+id +'&rnd='+ new Date().getTime();
  //alert('server call with url '+url+'?'+params);
  //document.getElementById("dropbox").innerHTML = '';
  document.getElementById('indicator_getzip').style.display='inline';
  var myAjax = new Ajax.Request(
   url,
   {
     method: 'post'
     ,postBody: params
     ,onComplete: function (req) 
		{
	document.getElementById('dropbox').innerHTML = req.responseText;
	document.getElementById('indicator_getzip').style.display='none';
		}
   });
}

function download_1photo(picnum,quality) 
{
  var url = 'download_photos.php';
  var params = 'picnum='+picnum +'&quality='+quality +'&rnd='+new Date().getTime();
  //alert('server call with url '+url+'?'+params);
  //document.getElementById("dropbox").innerHTML = '';
  document.getElementById('indicator_getzip').style.display='inline';
  var myAjax = new Ajax.Request(
   url,
   {
     method: 'post'
     ,postBody: params
     ,onComplete: function (req) 
		{
	document.getElementById('dropbox').innerHTML = req.responseText;
	document.getElementById('indicator_getzip').style.display='none';
		}
   });
}

function createPDF(picnum) 
{
  var url = 'pdf_preview.php';
  var params = 'image_id='+picnum + '&rnd='+new Date().getTime();
  //alert('server call with url '+url+'?'+params);
  //document.getElementById("dropbox").innerHTML = '';
  //document.getElementById('indicator_getzip').innerHTML+=' ... generating pdf file';
  document.getElementById('indicator_getzip').style.display='inline';
  var myAjax = new Ajax.Request(
   url,
   {
     method: 'post'
     ,postBody: params
     ,onComplete: function (req) 
		{
	document.getElementById('dropbox').innerHTML = req.responseText;
	document.getElementById('indicator_getzip').style.display='none';
		}
   });
}

function createPDF_collection(collection,id) 
{
  var url = 'pdf_collection.php';
  var params = 'collection='+collection +'&id='+id + '&rnd='+new Date().getTime();
  //alert('server call with url '+url+'?'+params);
  //document.getElementById("dropbox").innerHTML = '';
  //document.getElementById('indicator_getzip').innerHTML+=' ... generating pdf file';
  document.getElementById('indicator_getzip').style.display='inline';
  var myAjax = new Ajax.Request(
   url,
   {
     method: 'post'
     ,postBody: params
     ,onComplete: function (req) 
		{
	document.getElementById('dropbox').innerHTML = req.responseText;
	document.getElementById('indicator_getzip').style.display='none';
		}
   });
}

/* popups */

function go_contact( language, frame_width, frame_height) {
 	var w;
	w=window.open(
		"about/"+language+"/contact.html",
		"contact",
		"scrollbars=yes,resizable=yes,width="+frame_width+",height="+frame_height);
	w.focus();
	return false;
}

function go_legal( language, frame_width, frame_height) {
 	var w;
	w=window.open(
		"about/"+language+"/legal.html",
		"legal",
		"scrollbars=yes,resizable=yes,width="+frame_width+",height="+frame_height);
	w.focus();
	return false;
}

function go_prices( language, frame_width, frame_height) {
 	var w;
	w=window.open(
		"about/"+language+"/prices.html",
		"legal",
		"scrollbars=yes,resizable=yes,width="+frame_width+",height="+frame_height);
	w.focus();
	return false;
}

function go_agb( language, frame_width, frame_height) {
 	var w;
	w=window.open(
		"about/"+language+"/agb.html",
		"agb",
		"scrollbars=yes,resizable=yes,width="+frame_width+",height="+frame_height);
	w.focus();
	return false;
}


function go_help2( language, theme, frame_width, frame_height) {
 	var w;
	w=window.open(
		"about/"+language+"/help/index.php?theme="+theme,
		"help",
		"scrollbars=yes,resizable=yes,width="+frame_width+",height="+frame_height);
	w.focus();
	return false;
}

function go_help1( language, theme, frame_width, frame_height) {
 	var w;
	w=window.open(
		"about/"+language+"/help/"+theme+".htm",
		"help",
		"scrollbars=yes,resizable=yes,width="+frame_width+",height="+frame_height);
	w.focus();
	return false;
}

function go_help( language, theme, frame_width, frame_height) {
 	var w;
	w=window.open(
		"about/"+language+"/help/index.html#"+theme,
		"generalhelp",
		"scrollbars=yes,resizable=yes,width="+frame_width+",height="+frame_height);
	w.focus();
	return false;
}

function go_fotografen( language, frame_width, frame_height) {
 	var w;
	w=window.open(
		"photographen.php?lang="+language,
		"photographen",
		"scrollbars=yes,resizable=yes,width="+frame_width+",height="+frame_height);
	w.focus();
	return false;
}

function go_settings( language, frame_width, frame_height) {
 	var w;
	w=window.open(
		"user_modify.php",
		"settings",
		"scrollbars=yes,resizable=yes,width="+frame_width+",height="+frame_height);
	w.focus();
	return false;
}

function go_mailbox( frame_width, frame_height) {
 	var w;
	w=window.open(
		"mailbox.php?lang={LANG}&login={LOGIN}&contentlang={SCONTENTLANG}",
		"mailbox",
		"scrollbars=yes,resizable=yes,width="+frame_width+",height="+frame_height);
	w.focus();
	return false;
}

function show_mailbox_name(id,msg) {
	if (document.getElementById) {
		document.getElementById(id).innerHTML=msg;
	}
}

function show_lightbox_name(lbox,id,msg) {
	if (document.getElementById) {
		document.getElementById(id).innerHTML=msg;
	}
}

function go_lightbox(lbox, frame_width, frame_height) {
 	var w;
	w=window.open(
		"lightbox.php?lang={LANG}&login={LOGIN}&contentlang={SCONTENTLANG}&height="+frame_height+"&lbox="+lbox,
		"lightbox"+lbox,
		"scrollbars=yes,resizable=yes,width="+frame_width+",height="+frame_height);
	w.focus();
	return false;
}

function lightbox_fill(lbox,nummer) {
	var w=window.open(
		"lightbox_fill.php?lang={LANG}&login={LOGIN}&nummer="+nummer+"&lbox="+lbox,
		"to_lightbox",
		"scrollbars=no,resizable=yes,width=440,height=330"
	);
	//self.location.reload();
	//go_lightbox(lbox,600,300);
	//w.focus();
 	return false;
}

function order1(nummer) {
	var w=window.open(
		"ordernow.php?lang={LANG}&login={LOGIN}&ansicht={VIEW}&contentlang={SCONTENTLANG}&marked[0]="+nummer,
		"order",
		"scrollbars=yes,resizable=yes,width=500,height=280"
	);
	w.focus();
	return false;
}


function toggleSearchForm() {
	  		if (document.getElementById) {
				
				var d1=document.getElementById('searchtable');
	  			var val=d1.style.display;
	  			var p1=d1.style.padding;
				//alert(val);

				var dx=document.getElementById('searchtable_hidden');
	  			var valx=dx.style.display;
				//alert(val+':'+valx);

	  			if (val=='block' ) {val='none';valx='block';} else {val='block';valx='none';}   			
				d1.style.display=val ;	
				dx.style.display=valx ;	
				
				document.livesearch_pdl.skey.focus();
			}
}
function showSearchForm() {
	  		if (document.getElementById) {
				
				var d1=document.getElementById('searchtable');
	  			var val=d1.style.display;
	  			var p1=d1.style.padding;
				//alert(val);

				var dx=document.getElementById('searchtable_hidden');
	  			var valx=dx.style.display;
				//alert(val+':'+valx);

	  			//if (val=='block' ) {val='none';valx='block';} else {val='block';valx='none';}   			
				d1.style.display='block' ;	
				dx.style.display='none' ;	
				//alert('formulaire non masqué !');
				
				document.livesearch_pdl.skey.focus();
			}
}
function hideSearchForm() {
	  		if (document.getElementById) {
				
				var d1=document.getElementById('searchtable');
	  			var val=d1.style.display;
	  			var p1=d1.style.padding;
				//alert(val);

				var dx=document.getElementById('searchtable_hidden');
	  			var valx=dx.style.display;
				//alert(val+':'+valx);

	  			//if (val=='block' ) {val='none';valx='block';} else {val='block';valx='none';}   			
				d1.style.display='none' ;	
				dx.style.display='block' ;	
				//alert('formulaire masqué !');
				
				//document.livesearch_pdl.skey.focus();
			}
}
function toggleDisplay(eltid) {
	if (document.getElementById) {				
		var elt=document.getElementById(eltid);
		var val=elt.style.display;
		if (val=='block' || val=='') 
			{val='none';} 
		else 	{val='block';}   			
		elt.style.display=val ;	
	}
}

