// $Id$

// $Log$

//uploadadtwo.js - Matt Fraser - April 2008
//Proviedes calendar and validates form


// If browser can handle it (test to see if it supports getElementById), initiate setup
if (document.getElementById){
	window.onload = setup;
}

function setup() {

	var calBtn = document.getElementById('calLnk');
	calBtn.onclick = showCal;

    var otherbox = document.getElementById('otherbox');
    otherbox.onclick = setOther;

	function showCal(){
		var cal = new CalendarPopup("calDiv");
		cal.select(document.forms[0].rundate,'calLnk','dd/MM/yy'); 
		return false;
	}
	
	var form = document.getElementById('advertisementDetails');
	form.onsubmit = validateForm;

}

function setOther() {
        var other = document.getElementById('other');
        other.checked = true; 
    
}

function validateForm(){

	var valid = false;
	
	var form = document.getElementById('advertisementDetails');
	var errormsg = '';
	var instructions = document.getElementById('error');
	
	var company     = document.getElementById('company');
	var name        = document.getElementById('name');
	var phone       = document.getElementById('phone');
	var email       = document.getElementById('email');
	var publications = form.publication;
	var publicationserror = document.getElementById('publicationserror');
	var rundate     = document.getElementById('rundate');
	var bookref     = document.getElementById('bookref');
	
	resetColourBackground();
	
	if (company.value == ''){
		errormsg = "Please provide your company.";
		changeBack(company);
		company.focus();
	}else if (name.value == ''){
		errormsg = "Please provide your name.";
		changeBack(name);
		name.focus();
	}else if (phone.value == ''){
		errormsg = "Please provide your phone number.";
		changeBack(phone);
		phone.focus();
	}else if (!email.value.match(/\w+@\w+/)){
		errormsg = "Please provide a valid email address.";
		changeBack(email); 
		email.focus();
	}else if (getSelected(publications) == ""){
		errormsg = "Please select a publication.";
		publicationserror.innerHTML = " - please select one of the following publications";
		publications[0].focus();
	}else if (!rundate.value.match(/([012][0-9]|3[01])\/(0[1-9]|1[012])\/[0-9]{2}/)){
		errormsg = "Please provide the first run date of the Ad (dd/mm/yy).";
		changeBack(rundate);
		rundate.focus();
/*	}else if (bookref.value == ''){
		errormsg = "Please provide the booking reference number.";
		changeBack(bookref);
		bookref.focus();
*/	}else {
	valid = true;
	}
	
	if (errormsg != ''){
		instructions.innerHTML = errormsg;
	}
	return valid; 
}

function getSelected(radios) {

	for(var i = 0; i < radios.length; i++) {
		if(radios[i].checked) {
			return radios[i].value;
		}
	}

	return "";
}


function changeBack(element){
	element.style.backgroundColor = '#fdd';	
	
}

function resetColourBackground(){
	
	var allInputs = document.getElementsByTagName('input');
	for(var i=0; i< allInputs.length; i++){
		allInputs[i].style.backgroundColor = '#fff';
	}
	
	var allFieldsets = document.getElementsByTagName('fieldset');
	for(var i=0; i< allFieldsets.length; i++){
		allFieldsets[i].style.backgroundColor = '#fff';
	}
	
	var allTextAreas = document.getElementsByTagName('textarea');
	for(var i=0; i< allTextAreas.length; i++){
		allTextAreas[i].style.backgroundColor = '#fff';
	}

}

