

function setCurrentLB(lb) {

new Ajax.Request('ajax/set_current_lb.php?lightboxname=' + lb,
	{
    	method:'get',
	   	onSuccess: function(transport){
			//alert(transport.responseText)
    		var response = transport.responseText || "no response text";
			vars = response.split('|') // reponse_code|lightboxname
			//alert(vars[0]);
/*			doesnt work, needs some sort of function to strip out leading whitespace in the response text
			for the response code.


			switch (vars[0]) 
			{
				case "1" :	// succses 
							alert("success!")
							break;
				case 2 : 	// not a valid lightbox
							break;
				case 3 : 	// not authorized
							break;
				case 4 : 	// not logged in
							break;
				default : 	
					
							break;
			}
*/
	   	},
    	onFailure: function(){ alert('Something went wrong...') }
	});


//	 	if the user is at viewlb and the lightbox gets changed in the dropdown box, 
//		that change should be reflected in the lightbox they're viewing, so 
//		force a refresh if the page is viewlb.php using viewlb_fix() 
	

	viewlb_fix();
	
	
}

/*
function setCurrentLB(lb)
{
	alert ("aye ha");
	$.get("ajax/set_current_lb.php", { lightboxname : lb },
  function(data){
    alert("Data Loaded: " + data);
  });
	
}
*/



function loginError()
{
	var loginErrorMessageObj = document.createElement("div");
	loginErrorMessageObj.id = "loginErrorMessage";
	loginErrorMessageObj.innerHTML = '<span style="color:red; padding-left:55px">invalid username/password combination</span>';
	$('top').appendChild(loginErrorMessageObj);
}

function getDropDownControl()
{
	$('lbControlsDropBox').innerHTML = '<span style="margin-left:55px">loading ...</span>';
	new Ajax.Request('ajax/get_lb_drop.php',
	{
    	method:'get',
    	onSuccess: function(transport){
      		var response = transport.responseText || "no response text";
			$('lbControlsDropBox').innerHTML = "<span>Current Lightbox:</span>\n" + response;

    	},
    	onFailure: function(){ 
			alert('Something went wrong...') 
			$('lbControlsDropBox').innerHTML = "error ...";	
		}
  });
}


function processCreateLBInput(lbname) {
	
	$('lbCreateMessage').hide()
	$('lbFormInputText').hide()
	$('lbFormInputButton').hide()


	
//	$('generic_dialog_popup').hide()
	
	$('loading').show()
	
	new Ajax.Request('ajax/create_lb.php?lightboxname='+lbname,
	{
    	method:'get',
	   	onSuccess: function(transport){
    		var response = transport.responseText || "no response text";
			response_vars = response.split('|');
			value = parseInt(response_vars[0])

			switch (value) {
				case 1 : 	// success 	
							updateNumLBs();
							getDropDownControl();
							$('loading').hide();
							$('lbCreateMessage').innerHTML = response_vars[1]+" lightbox successfully created."
							$('lbCreateMessage').show()
							setTimeout("destroyCreateLBPopUp()", 2000)

							viewlb_fix();

							break;
				case 2 :	// duplicate
							$('loading').hide();
							$('lbCreateMessage').innerHTML = response_vars[1]+" is an existing lightbox."
							$('lbCreateMessage').show()
							$('lbFormInputText').show()
							$('lbFormInputButton').show()
							$('lbFormInputText').focus()
							break;
				case 3 :
							$('loading').hide();
							$('lbCreateMessage').innerHTML = "Please supply a lightbox name" // should be handled by javascript
							$('lbCreateMessage').show()
							$('lbFormInputText').show()
							$('lbFormInputButton').show()
							$('lbFormInputText').focus()							
							break;
/*				case 4 :
							$('loading').hide();
							$('lbCreateMessage').innerHTML = response_vars[1]+" nothin posted."
							break;
				case 5 :
							$('loading').hide();
							$('lbCreateMessage').innerHTML = response_vars[1]					
							break;
				case 6 :
							$('loading').hide();
							$('lbCreateMessage').innerHTML = response_vars[1]					
							break;*/
							
				case 8 :	// lightbox name contains non alphanumberic characters
							$('loading').hide();
							$('dialogBody').style.height = "30px"							
							$('lbCreateMessage').innerHTML = "Your lightbox name should only contain a combination of letters and numbers."
							$('lbCreateMessage').show()
							$('lbFormInputText').show()
							$('lbFormInputButton').show()
							$('lbFormInputText').focus()							
							break;
				case 9 :	// lightbox name contains non alphanumberic characters
							$('loading').hide();
							$('dialogBody').style.height = "30px"
							$('lbCreateMessage').innerHTML = "Your lightbox name should be less than 25 characters."
							$('lbCreateMessage').show()
							$('lbFormInputText').show()
							$('lbFormInputButton').show()
							$('lbFormInputText').focus()							
							break;
							
 				default:
							$('loading').hide();
							$('lbCreateMessage').innerHTML = "Unknown Error."
							$('lbFormInputText').focus()
							$('lbCreateMessage').show()
							$('lbFormInputText').show()
							$('lbFormInputButton').show()

							break;
	
			}
   		},
    onFailure: function(){ alert('Something went wrong...') }
  });
}

function processDeleteLBInput(lb)
{
	$('lbDeleteMessage').hide();
	$('lbFormInputDelYes').hide();
	$('lbFormInputDelNo').hide();
	$('loading').show(); 
	
	new Ajax.Request('ajax/delete_lb.php?lightboxname='+lb,
	{
    	method:'get',
    	onSuccess: function(transport){
      		var response = transport.responseText || "no response text";
			var value = parseInt(response)
			switch(value) {
				case 1 : 
							$('lbDeleteMessage').innerHTML = lb + " lightbox deleted."
							$('loading').hide();
							$('lbFormInputDelClose').show();
							$('lbDeleteMessage').show();
							break;
				default :	$('lbDeleteMessage').innerHTML = response
			}
			getDropDownControl();

			/* if the current page is view_lb.php and the lightbox is deleted, refresh the page to display the
				next lightbox instead of the one that has just been deleted */
			viewlb_fix();
			
			/* if the current page is email.php, we need to reload to reflect the delted lightbox... a better way
			   would be to just repopulate the drop down box in the email page
			 */
			emaillb_fix();
			
			updateNumLBs();
    	},
    	onFailure: function(){ 
			alert('Something went wrong...') 
//			$('lbControlsDropBox').innerHTML = "error ...";	
		}
  });

}

function performSearch(query)
{
	query = $('searchField').value
	$('mainContent').innerHTML = "performing search..."
	
	new Ajax.Request('ajax/search.php?query='+query,
	{
    	method:'get',
    	onSuccess: function(transport){
      		var response = transport.responseText || "no response text";
			$('mainContent').innerHTML = response

			Behaviour.apply(); // reapply rules for new elements
    	},
    	onFailure: function(){ 
			alert('Something went wrong...') 
//			$('lbControlsDropBox').innerHTML = "error ...";	
		}
  });
}

function addImage(imageid)
{
	new Ajax.Request('ajax/add_image.php?imageid=' + imageid,
	{
    	method:'get',
	   	onSuccess: function(transport){
    		var response = transport.responseText || "no response text";
			vars = response.split('|')
		
			var code = parseInt(vars[0]) // string to int
			addImagePopUp(code, vars[1], vars[2]);
			updateNumImages();
	   	},
    	onFailure: function(){ alert('Something went wrong...') }
	});
}

function addImagePopUp(code, imageid, lightbox) {

	var d = document
   	var b = d.getElementsByTagName('body')[0]
	
	var popup = d.createElement('div')
	popup.id = "add_image_popup"

	/* ff */	
	if (ie)	
	{
		popup.style.top = Math.round((document.body.clientHeight/2)-(popup.style.height/2)+document.body.scrollTop)+'px';
    	popup.style.left = Math.round((document.body.clientWidth/2)-(popup.style.width/2))+"px";

	}
	else
	{
		popup.style.top = Math.round((document.documentElement.clientHeight/4)-(popup.style.height/4)+document.documentElement.scrollTop)+'px';
	    popup.style.left = Math.round((document.documentElement.clientWidth/2)-(popup.style.width/2))+"px";

	}
	

		
		var pop_dialog_table = d.createElement('table')
		pop_dialog_table.className='pop_dialog_table'
		pop_dialog_table.id = "d_table"
			
			var tbody = d.createElement('tbody')
			var tr1 = d.createElement('tr')
			
				var td1_tr1 = d.createElement('td')
				td1_tr1.className = 'pop_topleft'
				var td2_tr1 = d.createElement('td')
				td2_tr1.className = 'pop_border'				
				var td3_tr1 = d.createElement('td')								
				td3_tr1.className = 'pop_topright'				
				
			tr1.appendChild(td1_tr1)
			tr1.appendChild(td2_tr1)
			tr1.appendChild(td3_tr1)
			
			tbody.appendChild(tr1)
			
			var tr2 = d.createElement('tr')
			
				var td1_tr2 = d.createElement('td')
				td1_tr2.className = 'pop_border';
				
				var td2_tr2 = d.createElement('td')
				td2_tr2.id = 'pop_content'
				td2_tr2.className = 'pop_content'
				
				var h2 = d.createElement('h2')
				h2.innerHTML = 'Add Image'

				td2_tr2.appendChild(h2)
				
				var dialog_content = d.createElement('div')
				dialog_content.className = 'dialog_content'
				
					var dialog_body = d.createElement('div')
					dialog_body.className = 'dialog_body'
					dialog_body.style.height = "40px"
					
						var addImageMessage = d.createElement('span')
						addImageMessage.id = "addImageMessage"
						addImageMessage.className = "popup_message"

						var timeout = 0
						
						switch (code) {
							case 1 :  	// success
								addImageMessage.innerHTML = "Image " + imageid + " added to the " + lightbox + " lightbox."
								timeout = 2000				
								break;
							case 2 : 	// existing image in the lightbox
								addImageMessage.innerHTML = "Image " + imageid + " is already in the " + lightbox + " lightbox."
								timeout = 3000
								break;
								
							case 4 :	// no lightbox to add to 
								addImageMessage.innerHTML = "No lightbox to add image to.<br><br>Use the menu above to create a new lightbox to add images to."
								dialog_body.style.height = "60px" // to accomodate long message
								timeout = 3000
								break;
							case 6 :  	// user not logged in
							case 7 :
								addImageMessage.innerHTML = "You must be logged in to use this  feature.<br>"  
								+ "Please login above or register with DDB Stock to use our lightbox feature."	
								timeout = 3000
							break;
							
							default : 	
								break;
						}

						
					dialog_body.appendChild(addImageMessage)

				dialog_content.appendChild(dialog_body)
				td2_tr2.appendChild(dialog_content)
   	
				var td3_tr2 = d.createElement('td')
				td3_tr2.className = 'pop_border'
				
				tr2.appendChild(td1_tr2)
				tr2.appendChild(td2_tr2)
				tr2.appendChild(td3_tr2)
			
				tbody.appendChild(tr2)
				

					var tr3 = d.createElement('tr')
				
						var td1_tr3 = d.createElement('td')
						td1_tr3.className = 'pop_bottomleft'
						var td2_tr3 = d.createElement('td')
						td2_tr3.className = 'pop_border'				
						var td3_tr3 = d.createElement('td')								
						td3_tr3.className = 'pop_bottomright'				
				
					tr3.appendChild(td1_tr3)
					tr3.appendChild(td2_tr3)
					tr3.appendChild(td3_tr3)
				
				tbody.appendChild(tr3)			
							
	
		pop_dialog_table.appendChild(tbody)				

					
	popup.appendChild(pop_dialog_table)	


					
	
	setTimeout("document.onclick= function (e) {destroyAddImagePopUp()}", 200)

	popup.onmouseover = function (e) {
		d.onclick = "";
	}


	popup.onmouseout = function (e) {
		d.onclick= function (e) {
			destroyAddImagePopUp()
		}
	} 
	
	
	b.appendChild(popup)	

	setTimeout("destroyAddImagePopUp()", timeout);

}

function destroyAddImagePopUp()
{
	d.onclick = ""
	if ($('add_image_popup'))
		Element.remove('add_image_popup')
}

function updateNumImages()
{
	new Ajax.Request('ajax/get_num_images.php',
	{
    	method:'get',
	   	onSuccess: function(transport){
    		var response = transport.responseText || "no response text";
			$('numImages').innerHTML = response;
	   	},
    	onFailure: function(){ alert('Something went wrong...') }
	});		
}

function createLBPopUp(){
	var d = document
   	var b = d.getElementsByTagName('body')[0]
	
	var popup = d.createElement('div')
	popup.id = "createlb_popup"

	/* ff */	
	if (ie)	
	{
		//popup.style.top = Math.round((document.body.clientHeight/2)-(popup.style.height/2)+150)+'px'; not working
		popup.style.top = '250px';
    	popup.style.left = Math.round((document.body.clientWidth/2)-(popup.style.width/2))+"px";
	}
	else
	{
		popup.style.top = Math.round((document.documentElement.clientHeight/4)-(popup.style.height/4) + 50)+'px';
	    popup.style.left = Math.round((document.documentElement.clientWidth/2)-(popup.style.width/2))+"px";
	}	
		var pop_dialog_table = d.createElement('table')
		pop_dialog_table.className='pop_dialog_table'
		pop_dialog_table.id = "d_table"
			
			var tbody = d.createElement('tbody')
			var tr1 = d.createElement('tr')
			
				var td1_tr1 = d.createElement('td')
				td1_tr1.className = 'pop_topleft'
				var td2_tr1 = d.createElement('td')
				td2_tr1.className = 'pop_border'				
				var td3_tr1 = d.createElement('td')								
				td3_tr1.className = 'pop_topright'				
				
			tr1.appendChild(td1_tr1)
			tr1.appendChild(td2_tr1)
			tr1.appendChild(td3_tr1)
			
			tbody.appendChild(tr1)
			
			var tr2 = d.createElement('tr')
			
				var td1_tr2 = d.createElement('td')
				td1_tr2.className = 'pop_border';
				
				var td2_tr2 = d.createElement('td')
				td2_tr2.id = 'pop_content'
				td2_tr2.className = 'pop_content'
				
				var h2 = d.createElement('h2')
				h2.innerHTML = 'Create Lightbox'

				td2_tr2.appendChild(h2)
				
				var dialog_content = d.createElement('div')
				dialog_content.className = 'dialog_content'
				
					var dialog_body = d.createElement('div')
					dialog_body.id = 'dialogBody' // id this one so you can resize it with $('dialogBody') later
					dialog_body.className = 'dialog_body'
					
						var lbCreateMessage = d.createElement('span')
						lbCreateMessage.id = "lbCreateMessage"
						lbCreateMessage.className = "popup_message"
						lbCreateMessage.innerHTML = 'Enter the name of your lightbox below:'
						
					dialog_body.appendChild(lbCreateMessage)

					
					var dialog_buttons = d.createElement('div')
					dialog_buttons.className = 'dialog_buttons'
						
						var objInpBut = d.createElement('input')
						objInpBut.id = "lbFormInputButton"
						objInpBut.type = "button"
						objInpBut.value = "Create"
						objInpBut.style.fontSize = "15px"
						objInpBut.onclick = function (e) {
								processCreateLBInput(objInpTxt.value);
							}
						
						var objInpTxt = d.createElement('input')
						objInpTxt.id = "lbFormInputText"
						objInpTxt.name = "lightboxname"
						objInpTxt.type="text" 
						objInpTxt.size = "25"
						objInpTxt.style.background = "url(images/txt-bg.gif) repeat-x scroll 0%"
						objInpTxt.style.fontSize = "18px";
						objInpTxt.style.padding = "5px";
						objInpTxt.style.border = "1px solid black"; 
						objInpTxt.onkeypress = function (e) {
			
						if (e == null) { // ie
							keycode = event.keyCode;
						} else { // mozilla
							keycode = e.which;
						}

						if (keycode == 13 || keycode == 3)
							processCreateLBInput(objInpTxt.value);
						}
						
								
							/* include onkeypress == enter or whatever above to catch a user just pressing enter
								to submit a new lightbox */
								
						var objLoadDiv = d.createElement('div')
						objLoadDiv.id='loading'
						objLoadDiv.style.textAlign = "center"
						objLoadDiv.style.color = "black"
						objLoadDiv.style.display = "none"
						objLoadDiv.innerHTML = '<img src="images/loading.gif"><br>processing...'

					dialog_buttons.appendChild(objInpTxt)	
					dialog_buttons.appendChild(objInpBut)
					dialog_buttons.appendChild(objLoadDiv)
					
				dialog_content.appendChild(dialog_body)
				dialog_content.appendChild(dialog_buttons)
				
				td2_tr2.appendChild(dialog_content)
				
				var td3_tr2 = d.createElement('td')
				td3_tr2.className = 'pop_border'
				
				tr2.appendChild(td1_tr2)
				tr2.appendChild(td2_tr2)
				tr2.appendChild(td3_tr2)
				
				tbody.appendChild(tr2)
				
				var tr3 = d.createElement('tr')
				
					var td1_tr3 = d.createElement('td')
					td1_tr3.className = 'pop_bottomleft'
					var td2_tr3 = d.createElement('td')
					td2_tr3.className = 'pop_border'
					var td3_tr3 = d.createElement('td')
					td3_tr3.className = 'pop_border'				
					
					tr3.appendChild(td1_tr3)
					tr3.appendChild(td2_tr3)
					tr3.appendChild(td3_tr3)
					
				tbody.appendChild(tr3)
			
		pop_dialog_table.appendChild(tbody)				
					
	popup.appendChild(pop_dialog_table)				


	setTimeout("document.onclick= function (e) {destroyCreateLBPopUp()}", 200)
	

	popup.onmouseover = function (e) {
		d.onclick = "";
	}

	popup.onmouseout = function (e) {
		d.onclick= function (e) {
			destroyCreateLBPopUp()
		}
	}
	
	b.appendChild(popup)
	
//	document.getElementById("d_table").setAttribute("align", "center")	
}

function destroyCreateLBPopUp()
{
	document.onclick=""
	if ($('createlb_popup'))
		Element.remove('createlb_popup');
}

function deleteLBPopUp(text){
	var d = document
   	var b = d.getElementsByTagName('body')[0]
	var lb = Form.getElements('lbDropDown')[0].value // the selected lightbox
	var lightboxes = true;
	
	if ((Form.getElements('lbDropDown')[0].options[0].innerHTML == "no lightboxes") && (lb == "lb"))
		lightboxes = false;
		
	
	var popup = d.createElement('div')
	popup.id = "deletelb_popup"

	/* ff */	
	if (ie)	
	{
		popup.style.top = '250px';
    	popup.style.left = Math.round((document.body.clientWidth/2)-(popup.style.width/2))+"px";
	}
	else
	{
		popup.style.top = Math.round((document.documentElement.clientHeight/4)-(popup.style.height/4) + 50)+'px';
	    popup.style.left = Math.round((document.documentElement.clientWidth/2)-(popup.style.width/2))+"px";
	}	

		var pop_dialog_table = d.createElement('table')
		pop_dialog_table.className='pop_dialog_table'
		pop_dialog_table.id = "d_table"
			
			var tbody = d.createElement('tbody')
			var tr1 = d.createElement('tr')
			
				var td1_tr1 = d.createElement('td')
				td1_tr1.className = 'pop_topleft'
				var td2_tr1 = d.createElement('td')
				td2_tr1.className = 'pop_border'				
				var td3_tr1 = d.createElement('td')								
				td3_tr1.className = 'pop_topright'				
				
			tr1.appendChild(td1_tr1)
			tr1.appendChild(td2_tr1)
			tr1.appendChild(td3_tr1)
			
			tbody.appendChild(tr1)
			
			var tr2 = d.createElement('tr')
			
				var td1_tr2 = d.createElement('td')
				td1_tr2.className = 'pop_border';
				
				var td2_tr2 = d.createElement('td')
				td2_tr2.id = 'pop_content'
				td2_tr2.className = 'pop_content'
//				td2_tr2.height = "35px";
				
				
				var h2 = d.createElement('h2')
				h2.innerHTML = 'Delete Lightbox'

				td2_tr2.appendChild(h2)
				
				var dialog_content = d.createElement('div')
				dialog_content.className = 'dialog_content'
				
					var dialog_body = d.createElement('div')
					dialog_body.className = 'dialog_body'
					dialog_body.style.height = "35px";
					
						var lbDeleteMessage = d.createElement('span')
						lbDeleteMessage.id = "lbDeleteMessage"
						lbDeleteMessage.className = "popup_message"
						
						if (lightboxes)
							lbDeleteMessage.innerHTML = 'Delete ' + lb + ' lightbox and all associated images?'
						else
							lbDeleteMessage.innerHTML = 'No lightbox to delete'

						var objLoadDiv = d.createElement('div')
						objLoadDiv.id='loading'
						objLoadDiv.style.textAlign = "center"
						objLoadDiv.style.color = "black"
						objLoadDiv.style.display = "none"
						objLoadDiv.innerHTML = '<img src="images/loading_sm.gif"><br>loading...'

						
					dialog_body.appendChild(lbDeleteMessage)
					dialog_body.appendChild(objLoadDiv)

					var dialog_buttons = d.createElement('div')
					dialog_buttons.className = 'dialog_buttons'
					dialog_buttons.style.textAlign = "center"
					dialog_buttons.style.height = "20px"
						
						var objInpButDelYes = d.createElement('input')
						objInpButDelYes.id = "lbFormInputDelYes"
						objInpButDelYes.type = "button"
						objInpButDelYes.value = "Yes"
						objInpButDelYes.style.fontSize = "15px"
						objInpButDelYes.onclick = function (e) {
								processDeleteLBInput(lb);
							}
							
						var objInpButDelNo = d.createElement('input')
						objInpButDelNo.id = "lbFormInputDelNo"
						objInpButDelNo.type = "button"
						objInpButDelNo.value = "No"
						objInpButDelNo.style.fontSize = "15px"
						objInpButDelNo.onclick = function (e) {
								destroyDeleteLBPopUp()
							}		
							
						var objInpButDelClose = d.createElement('input')
						objInpButDelClose.id = "lbFormInputDelClose"
						objInpButDelClose.type = "button"
						objInpButDelClose.value = "Close"
						objInpButDelClose.style.fontSize = "15px"
						objInpButDelClose.style.display = "none"						
						objInpButDelClose.onclick = function (e) {
								destroyDeleteLBPopUp()
							}									
						
					dialog_buttons.appendChild(objInpButDelYes)
					dialog_buttons.appendChild(objInpButDelNo)
					dialog_buttons.appendChild(objInpButDelClose)					
					
				dialog_content.appendChild(dialog_body)
				dialog_content.appendChild(dialog_buttons)
				
				td2_tr2.appendChild(dialog_content)
				
				var td3_tr2 = d.createElement('td')
				td3_tr2.className = 'pop_border'
				
				tr2.appendChild(td1_tr2)
				tr2.appendChild(td2_tr2)
				tr2.appendChild(td3_tr2)
				
				tbody.appendChild(tr2)
				
				var tr3 = d.createElement('tr')
				
					var td1_tr3 = d.createElement('td')
					td1_tr3.className = 'pop_bottomleft'
					var td2_tr3 = d.createElement('td')
					td2_tr3.className = 'pop_border'
					var td3_tr3 = d.createElement('td')
					td3_tr3.className = 'pop_border'				
					
					tr3.appendChild(td1_tr3)
					tr3.appendChild(td2_tr3)
					tr3.appendChild(td3_tr3)
					
				tbody.appendChild(tr3)
			
		pop_dialog_table.appendChild(tbody)				
					
	popup.appendChild(pop_dialog_table)				


	setTimeout("document.onclick= function (e) {destroyDeleteLBPopUp()}", 200)
	

	popup.onmouseover = function (e) {
		d.onclick = "";
	}

	popup.onmouseout = function (e) {
		d.onclick= function (e) {
			destroyDeleteLBPopUp()
		}
	}
	
	b.appendChild(popup)
	
	
}

function destroyDeleteLBPopUp()
{
	document.onclick=""
	if ($('deletelb_popup'))
	Element.remove('deletelb_popup');
}

function viewlb_fix()
{
	var myRegExp = /viewlb.php/;
	var string1 = window.location.href;
	var matchPos1 = string1.search(myRegExp);
	if(matchPos1 != -1)
		window.location.reload()
}

function emaillb_fix()
{
	var myRegExp = /email.php/;
	var string1 = window.location.href;
	var matchPos1 = string1.search(myRegExp);
	if(matchPos1 != -1)
		window.location.reload()
}

function updateNumLBs()
{
	new Ajax.Request('ajax/get_num_lbs.php',
	{
    	method:'get',
	   	onSuccess: function(transport){
    		var response = transport.responseText || "no response text";
			$('numLBs').innerHTML = response;
	   	},
    	onFailure: function(){ alert('Something went wrong...') }
	});			
}