// JavaScript Document
var defCompanyString = 'Or type a new one';

function toggleFormItem(obj , i){
	if(!i){return; }
	i.value = '';
	i.className = 'formHidden';
	if(obj.value != 1){ return; }
	i.className = 'formShow';
}

function removeNews(){
	return confirm('Are you sure you wish to delete this news item?  This cannot be un-done.');
}

function removeUser(){
	return confirm('Are you sure you wish to delete this user?  This cannot be un-done.');
}

function removeCompany(){
	return confirm('Are you sure you wish to delete this company and all of its users?  This cannot be un-done.');
}

function removeSpec(){
	return confirm('Are you sure you wish to delete this specification?  This cannot be un-done.');
}

function removeFlashImage(){
	return confirm('Are you sure you wish to delete this flash image?  This cannot be un-done.');
}

function validateAddCompany(){
	var cn = document.getElementById('companyName');
	
	if(!cn.value){
		alert('Please enter a company name');
	}
}

function validateAddFlashImage(){
	var t = document.getElementById('flashTitle');
	var c = document.getElementById('flashContent');
	var im = document.getElementById('flashImage');
	
	if(!t.value){
		alert('Please enter a title for this image');
		return false;
	}
	

	
	if(!im.value){
		alert('Please choose an image to upload');
		return false;
	}
	addSubmitProgress($('addFlashImageSubmit'));
	return true;
}


function validateAddSpec(){
	var title = document.getElementById('specTitle');
	var content = document.getElementById('specContent');
	var pdf = document.getElementById('specPDF');
	var quark = document.getElementById('specQuark');
	var indesign = document.getElementById('specIndesign');
	
	if(title.value == ''){
		alert('Please enter a title');
		return false;
	}
	
	if(content.value == ''){
		alert('Please enter a description');
		return false;
	}
	
	if(pdf.value == '' && quark.value == '' && indesign.value == ''){
		alert('Please select at least one file for the specification');
		return false;
	}
	addSubmitProgress($('addSpecSubmit'));
	return true;
	
}
		

function validateAddUser(){
	var username = document.getElementById('userUsername');
	var forename = document.getElementById('userForename');
	var surname = document.getElementById('userSurname');
	var pass1 = document.getElementById('userPass1');
	var pass2 = document.getElementById('userPass2');
	var userCompany = document.getElementById('userCompany');
	var userNewCompany = document.getElementById('userNewCompany');
	var email = document.getElementById('userEmail');

	
	if(forename.value == ''){
		alert('Please enter a forename');
		return false;
	}
	
	if(surname.value == ''){
		alert('Please enter a surname');
		return false;
	}
	
	if(username.value == ''){
		alert('Please enter a username');
		return false;
	}
	
	if(email.value == ''){
		alert('Please enter an email address');
		return false;
	}
	
	if(pass1.value == '' || pass2.value == ''){
		alert('Please enter both passwords');
		return false;
	}
	
	if(pass1.value != pass2.value){
		alert('The passwords do not match');
		return false;
	}
	
	if(userCompany.value == '' && userNewCompany.value == defCompanyString){
		alert('Please either select a company or type in a new one');
		return false;
	}
}

function selectAllCompanies(){
	var numCompanies = document.getElementById("numCompanies").value;
	var currCompany;
	
	for(var a = 0; a < numCompanies; a++){
		currCompany = document.getElementById("specCompany" + a);
		if(currCompany != null){
			currCompany.checked = true;
		}
	}
}

function selectNoCompanies(){
	var numCompanies = document.getElementById("numCompanies").value;
	var currCompany;
	
	for(var a = 0; a < numCompanies; a++){
		currCompany = document.getElementById("specCompany" + a);
		if(currCompany != null){
			currCompany.checked = false;
		}
	}
}

function selectAllPages(){
	var numPages = document.getElementById("numPages").value;
	var currPage;

	for(var a = 0; a < numPages; a++){
		currPage = document.getElementById("flashPage" + a);

		if(currPage != null){
			currPage.checked = true;
		}
	}
}


function selectNoPages(){
	var numPages = document.getElementById("numPages").value;
	var currPage;
	
	for(var a = 0; a < numPages; a++){
		currPage = document.getElementById("flashPage" + a);
		if(currPage != null){
			currPage.checked = false;
		}
	}
}

function disableAllCompanies(){
	var numCompanies = document.getElementById("numCompanies").value;
	var currCompany;
	
	for(var a = 0; a < numCompanies; a++){
		currCompany = document.getElementById("specCompany" + a);
		if(currCompany != null){
			currCompany.disabled = true;
		}
	}
	document.getElementById('companiesList').className = 'formHidden';
}

function enableAllCompanies(){
	var numCompanies = document.getElementById("numCompanies").value;
	var currCompany;
	
	for(var a = 0; a < numCompanies; a++){
		currCompany = document.getElementById("specCompany" + a);
		if(currCompany != null){
			currCompany.disabled = false;
		}
	}
	document.getElementById('companiesList').className = 'formShow';
}

function disableAllPages(){
	var numPages = document.getElementById("numPages").value;
	var currPage;
	
	for(var a = 0; a < numPages; a++){
		currPage = document.getElementById("flashPage" + a);
		if(currPage != null){
			currPage.disabled = true;
		}
	}
	document.getElementById('pagesList').className = 'formHidden';
}

function enableAllPages(){
	var numPages = document.getElementById("numPages").value;
	var currPage;
	
	for(var a = 0; a < numPages; a++){
		currPage = document.getElementById("flashPage" + a);
		if(currPage != null){
			currPage.disabled = false;
		}
	}
	document.getElementById('pagesList').className = 'formShow';
}

function switchCompanyMode(switcher){
	if(switcher.value == 1){
		enableAllCompanies();	
		return;
	}
	disableAllCompanies();
}

function switchFlashImageMode(switcher){
	if(switcher.value == 1){
		enableAllPages();	
		return;
	}
	disableAllPages();
}

function revealUploadBox(){
	//currentUpload++;
	var formBox;
	
	for(var a = 0; a < maxUpload; a++){
		box = document.getElementById('uploadBox' + a);
		
		if(box){
			if(box.className == 'uploaddiv_invis'){
				box.className = 'uploaddiv_vis';
				formBox = document.getElementById('t' + a + '_f');
				if(formBox){
					formBox.value = '';
				}
				return;
			}
		}
	}
		
	alert('You are only allowed to upload ' + maxUpload + ' at one time');

}

function getNumberOfVisibleBoxes(){
	var counter = 0;
	var box;
	
	for(var a = 0; a <= maxUpload; a++){
		box = document.getElementById('uploadBox' + a);
		if(box){
			if(box.className == 'uploaddiv_vis'){
				counter++;
			}
		}
	}
	return counter;
}

function in_array(needle , haystack){
	for(var a = 0; a < haystack.length; a++){
		if(haystack[a] == needle){
			return true;
		}
	}
}

function hideFileBox(id){
	if(getNumberOfVisibleBoxes() < 1){
		alert('You must choose at least one file to upload');
		return;
	}
	
	var b = document.getElementById('uploadBox' + id);
	var formBox = document.getElementById('t' + id + '_f');
	
	
	if(b){
		b.value = '';
		b.className = 'uploaddiv_invis';
	}
	
	if(formBox){
		formBox.value = '';
	}
}

function switchQuoteType(d){
	var s = $('samplesBoxes');
	var q = $('quoteText');
	var l;
	
	if(d.value < 2 || d.value == null){
		l = $('quoteLabel');
		s.className = 'formHidden';
		q.className = 'formShow';
		
		if(d.value == 0 |! d.value){
			l.innerHTML = 'Message';
		}else{
			l.innerHTML = 'Request A Quote';
		}
		return;
	}
	
	s.className = 'formShow';
	q.className = 'formHidden';
}

function validateRequestForm(){
	var numFormSamples = 3;
	var qName = $('quoteName');
	var cName = $('quoteCName');
	var address = $('quoteAddress');
	var city = $('quoteCity');
	var postcode = $('quotePostcode');
	var phone = $('quotePhone');
	var email = $('quoteEmail');
	var type = $('quoteType');
	var msg = $('quoteMessage');
	var pre = 'Please enter a ';
	var preAn = 'Please enter an ';
	var samples = document.getElementsByTagName('quoteSamples');
	var fSamp;
	var fSampSet;
	
	if(!qName.value){
		alert(pre + 'name');
		return false;
	}
	if(!cName.value){
		alert(pre + 'company name');
		return false;
	}
	if(!address.value){
		alert(preAn + 'address');
		return false;
	}
	if(!city.value){
		alert(pre + 'city');
		return false;
	}
	if(!postcode.value){
		alert(pre + 'postcode');
		return false;
	}
	if(!phone.value){
		alert(pre + 'phone');
		return false;
	}
	if(!email.value){
		alert(preAn + 'email');
		return false;
	}
	if(parseInt(type.value) < 2){
		if(!msg.value){
			alert(pre + 'message');
			return false;
		}
	}else{
		for(var a = 0; a < numFormSamples; a++){
			var fSamp = document.getElementById('quoteSample' + a);
			
			if(fSamp){
				if(fSamp.checked){
					fSampSet = true;
					break;
				}
			}
		}
		if(!fSampSet){
			alert('Please select at least one sample type');
			return false;
		}
			
	}
	return true;
	
}

function addSubmitProgress(button){
	if(button){
		button.className = 'formHidden';
	}
	prog = $('progressCircle');
	if(prog){ prog.className = 'formShow'; }
}
