function __trace_characters(field,target,limit)
{
	if(document.getElementById)
	{
		document.getElementById(target).innerHTML = field.value.length;
		
		if(field.value.length >= limit)
		{
			field.value = field.value.substring(0, limit);
		}
	}
}

function __toggle_availability(value)
{
	var formObject = document.forms['theForm'];
	var formElements = new Array('month','day','year');
	
	if(formObject)
	{
		for(i=0 ; i<formElements.length ; i++)
		{
			if(formObject[formElements[i]])
			{
				formObject[formElements[i]].disabled = (value == 'n' ? true : false);	
			}
		}
	}
}

function __handle_buyer_options(value)
{
	var formObject = document.forms['theForm'];
	var formElements = new Array('payments[]','checkbox','payments_other','shipping','campus','state','colleges[]');
	
	if(formObject)
	{
		var states = new Array();
		
		if(value == 0)
		{
			states[0] = 'n'; 
			states[1] = 'n';
			states[2] = 'n';			
			states[3] = 'n';
			states[4] = 'n';
			states[5] = 'n';
			states[6] = 'n';
		}
		else if(value == 1)
		{
			states[0] = 'y'; 
			states[1] = 'y'; 
			states[2] = 'y';
			states[3] = 'y';
			states[4] = 'n';
			states[5] = 'n';
			states[6] = 'n';
		}
		else if(value == 2)
		{
			states[0] = 'n'; 
			states[1] = 'n';
			states[2] = 'n';
			states[3] = 'n';
			states[4] = 'y';
			states[5] = 'y';
			states[6] = 'y';
		}
		
		if(states.length > 0)
		{			
			for(i=0 ; i<formObject.elements.length ; i++)
			{
				found = false;
				index = 0;
				
				for(j=0 ; j<formElements.length ; j++)
				{
					if(formObject.elements[i].name == formElements[j])
					{					
						found = true;
						index = j;
						
						break;
					}
				}
				
				if(found)
				{
					formObject.elements[i].disabled = (states[index] == 'y' ? true : false);
				}				
			}
		}		
	}
}

function __clear_selection(target)
{
	var formObject = document.forms['theForm'];
	
	if(formObject)
	{
		if(formObject[target])
		{
			if(formObject[target].type == "select-multiple")
			{
				for(i=0 ; i<formObject[target].options.length ; i++)
				{
					formObject[target].options[i].selected = false;	
				}
			}
		}
	}
}

function __get_colleges(id)
{
	var formObject = document.forms['theForm'];
	
	if(formObject)
	{		
		if(id.toString().length == 2)
		{	
			var XMLHttpObject = __xmlhttp_request();
				
			if(XMLHttpObject)
			{
				__show_loader('visible');	
				__toggle_buttons('y','theForm');		
			
				XMLHttpObject.open('POST','rpc.php?mode=colleges',true);
				
				XMLHttpObject.onreadystatechange = function()
				{
					if(XMLHttpObject.readyState == 4)
					{
						if(XMLHttpObject.status == 200)
						{
							__show_loader('hidden');
							__toggle_buttons('n','theForm'); 
							
							if(XMLHttpObject.responseXML.getElementsByTagName("college")[0])
							{	
								xmlData = XMLHttpObject.responseXML.getElementsByTagName("college");	
								
								for(i=formObject['colleges[]'].options.length ; i>=0 ; i--)
								{
									formObject['colleges[]'].options[i] = null;
								}
								
								for(i=0 ; i<xmlData.length ; i++)
								{
									formObject['colleges[]'].options[formObject['colleges[]'].options.length] = new Option((xmlData[i].childNodes[0].nodeValue.toLowerCase() == "null" ? "" : xmlData[i].childNodes[0].nodeValue), xmlData[i].getAttribute('id'));
								}		
								
								return false;
							}
						}
					}
				}
				
				XMLHttpObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
				XMLHttpObject.send('mode=colleges&id=' + id); 
				
			}	
		}
		else
		{
			for(i=formObject['colleges[]'].options.length ; i>=0 ; i--)
			{
				formObject['colleges[]'].options[i] = null;
			}
		}
	}
}

function __upload_textbook_image(mode)
{
	var formObject = document.forms['theForm'];
	var error = false;
	
	if(formObject)
	{
		if(formObject['image_upload'].value.replace(/\s+/g).length == 0)
		{
			error = true;			
			formObject['image_upload'].focus();
		}
		
		if(!error)
		{
			__toggle_buttons('y','theForm');
			
			formObject['mode'].value = mode;
			formObject.submit();
		}
		else
		{
			return false;
		}		
	}
}

function __submit_form(msg,mode)
{
	var formObject = document.forms['theForm'];
	
	if(formObject)
	{	
		if(msg != null)
		{
			if(confirm(msg))
			{
				__toggle_buttons('y','theForm');
								
				formObject['mode'].value = mode;
				formObject.submit();				
			}
		}
		else
		{
			__toggle_buttons('y','theForm');
				
			formObject['mode'].value = mode;
			formObject.submit();	
		}
	}
}

function __cancel_form_submission(msg,mode,target)
{
	if(mode == 'form')
	{
		var formObject = document.forms['theForm'];
		
		if(formObject)
		{		
			if(msg != null)
			{
				if(confirm(msg))
				{
					__toggle_buttons('y','theForm');
					
					formObject['mode'].value = target;					
					formObject.submit();
				}
			}
			else
			{
				__toggle_buttons('y','theForm');
					
				formObject['mode'].value = target;					
				formObject.submit();
			}
		}
	}
	else if(mode == 'location')
	{
		if(msg != null)
		{
			if(confirm(msg))
			{
				__toggle_buttons('y','theForm');
				
				window.location.href = target;	
			}
		}
		else
		{
			__toggle_buttons('y','theForm');
				
			window.location.href = target;
		}
	}
}

function __auto_fill()
{
	var formObject = document.forms['theForm'];
	var error = false;
	
	if(formObject)
	{
		if(formObject['isbn'].value.replace(/\s+/g,'').length == 0)
		{
			error = true;
			
			alert('Please enter a valid ISBN number ! ');
			formObject['isbn'].focus();
		}
		
		if(error)
		{
			return false;
		}
		else
		{
			msg =  "By clicking OK our system will attempt to obtain the textbook's information ";
			msg += "based on the ISBN number you have entered. Please keep in mind that the ";
			msg += "information may not always be correct, therefore some changes may be necessary. ";
			
			__submit_form(msg,'autofill');	
		}		
	}
}

function __show_image(formElement)
{
	var formObject = document.forms['theForm'];
	
	if(formObject)
	{
		html =  '';
		html += '<table cellpadding="3" cellspacing="1" style="border: solid 1px #DEDEDE; background-color: #FFFFFF;">';
		html += '<tr>';
		html += '<td>';
		html += '<img src="' + formObject[formElement].value + '" onClick="__hide_image();">';
		html += '</td>';
		html += '</tr>';
		html += '</table>';
		
		if(document.getElementById)
		{
			document.getElementById('viewer').style.display = '';
			document.getElementById('viewer').innerHTML = html;
		}
	}
}

function __hide_image()
{
	if(document.getElementById)
	{
		document.getElementById('viewer').innerHTML = '';
		document.getElementById('viewer').style.display = 'none';			
	}
}

function __buy_textbook()
{
	var formObject = document.forms['theForm'];
	var option = null;
	
	if(formObject)
	{
		for(i=0 ; i<formObject.length ; i++)
		{
			if(formObject.elements[i].name == "option" && formObject.elements[i].type == "radio")
			{
				if(formObject.elements[i].checked == true)
				{
					option = formObject.elements[i].value;
					
					break;
				}
			}
		}
		
		if(option != null)
		{
			__toggle_buttons('y','theForm');
			
			formObject.method = 'get';
			formObject.action = 'finalize.php';
			
			formObject['mode'].value = 'finalize';
			formObject.submit();
		}
		else
		{
			alert('Please select a buyer option ! ');
			
			return false;
		}		
	}
}

function __finalize_textbook_purchase()
{
	var formObject = document.forms['theForm'];
	var error = false;
	
	if(formObject)
	{
		if(formObject['quantity'].value.replace(/\s+/g,'').length == 0)
		{
			error = true;
			
			alert('Please enter a valid quantity ! ');
			formObject['quantity'].focus();
		}
		else if(isNaN(formObject['quantity'].value))
		{
			error = true;
			
			alert('Please enter a valid quantity ! ');
			formObject['quantity'].focus();
		}
		
		if(error)
		{
			return false;	
		}
		else
		{
			__submit_form(null,'finalize');	
		}
	}
}

function __quick_search()
{
	var formObject = document.forms['theForm'];
	
	if(formObject)
	{
		if(formObject['keyword'].value == 'Search by ISBN, title and author')
		{
			formObject['keyword'].value = '';	
		}
		
		formObject.action = 'results.php';
		formObject.method = 'get';
		
		formObject.submit();		
	}
}

function __advanced_search()
{
	var formObject = document.forms['theForm'];
	var colleges = new Array();
	
	if(formObject)
	{
		if(formObject['campus'])
		{
			if(formObject['campus'].disabled == false && formObject['campus'].checked)
			{
				colleges[colleges.length] = formObject['campus'].value;	
			}
		}
		
		if(formObject['colleges[]'] && formObject['colleges[]'].disabled == false)
		{
			for(i=0 ; i<formObject['colleges[]'].options.length ; i++)
			{
				if(formObject['colleges[]'].options[i].selected)
				{
					colleges[colleges.length] = formObject['colleges[]'].options[i].value;	
				}
			}
		}
		
		if(colleges.length > 0)
		{
			formObject['college'].value = colleges.join('|');	
		}
		
		__toggle_buttons('y','theForm');
		
		formObject.method = 'get';
		formObject.action = 'results.php';
		
		formObject.submit();
	}
}