function checkProductSearchForm() {	
	var obj = document.forms[0];
	
	 if(obj.artist.value == "" && 
        obj.title.value  == "" &&  
        obj.label.value  == "" && 
        !obj.forthRelease.checked && 
        obj.referenceNo.value.length == 0 &&
        obj.releaseFrom.value.length == 0 && 
        !obj.format.selectedIndex != 0 &&
        !obj.genre.selectedIndex != 0 &&
        !obj.prodStatus.selectedIndex != 0 &&
        !obj.priceCategory.selectedIndex != 0 &&
        !obj.priceCode.selectedIndex != 0 &&
        !obj.series.selectedIndex != 0)
        
     {
       alert("NESSUN CRITERIO DI SELEZIONE!\nOccorre usare almeno un criterio di selezione nei campi\nArtista, Titolo, Etichetta, o Codice Prodotto");
       obj.artist.focus();

       return false;
     }

     if (!dateUntilNewerDateFrom()){
	   return false;
	 }
 
	return true;
}

function checkDate(object) {
	var dateStr = object.value;
	if (dateStr == null || dateStr.length == 0) {
		return true;
	} // if Empty-String isn't allowed there must be another method to check on Empty fields first
	dateStr = dateStr.toUpperCase();
	datePat = /^(\d{1,2})(\/|-|.)(\d{1,2}|\JAN|\FEB|\MAR|\APR|\MAY|\JUN|\JUL|\AUG|\SEP|\OCT|\NOV|\DEC)\2(\d{1}|\d{2}|\d{4})$/;
	var matchArray = dateStr.match(datePat); // is the format ok?
	if (matchArray == null) {
		if (confirm("Il campo contiene una data errata")) {
			object.focus();
			object.value = "";
		} else {
			object.value = "";
		}
		return false;
	}
		
		// parse date into variables
	month = matchArray[3];
	day = matchArray[1];
	year = matchArray[4];
		
		// change JAN, FEb to 1,2 etc.
		//////////////////////////////
	monthArray = new Array("JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC");
	monthArray2 = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
	for (i = 0; i < 12; i++) {
		if (month.indexOf(monthArray[i]) != -1) {
			month = i + 1;
			break;
		}
	}
	if (month < 1 || month > 12) { // check month range
		if (confirm("Il campo contiene una data errata")) {
			object.focus();
			object.select();
			return false;
		} else {
			object.value = "";
			return false;
		}
	}
	if (day < 1 || day > 31) {
		if (confirm("Il campo contiene una data errata")) {
			object.focus();
			object.select();
		} else {
			object.value = "";
		}
		return false;
	}
	if ((month == 4 || month == 6 || month == 9 || month == 11) && day == 31) {
		if (confirm("Il campo contiene una data errata")) {
			object.focus();
			object.select();
		} else {
			object.value = "";
		}
		return false;
	}
		
		// check for february 29th
		//////////////////////////	
	if (month == 2) {
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day > 29 || (day == 29 && !isleap)) {
			if (confirm("Il campo contiene una data errata")) {
				object.focus();
				object.select();
			} else {
				object.value = "";
			}
			return false;
		}
	}
		
		// convert 00 - 99 to yyyy value
		////////////////////////////////
	now = new Date();
	tmpYear = now.getYear();
	if (tmpYear < 1000) {
		tmpYear += 1900;
	}
	if (year < 100) {
		if (year >= 0 && year < 70) {
			year = parseInt(year) + parseInt(tmpYear / 100) * 100;
		} else {
			year = parseInt(year) + parseInt(tmpYear / 100) * 100 - 100;
		}
	}
		
		// CHANGE INPUT VALUE TO VALID VALUE
		////////////////////////////////////
		// outcomment next line an comment the line after to format date in 12-MAR-2000
		// or change it like you need
		//object.value = day +'-'+monthArray2[month-1]+'-'+year; // FORMATS TO 12-MAR-2000
	object.value = day + "/" + month + "/" + year; // FORMATS TO 12/3/2000
	return true;
}
/**
 * dateFromNewerDateUntil   Checks if date release from is newer that release until
 *
 * @return boolean
 */
function dateUntilNewerDateFrom() {
	var obj = document.forms[0];
	var u = obj.releaseUntil.value;
	var f = obj.releaseFrom.value;
	var i = 0;
	var day_from = f.substring(i, (i = f.indexOf("/", i)));
	var month_from = f.substring(i + 1, (i = f.indexOf("/", i + 1)));
	var year_from = f.substring(i + 1, f.length);
	i = 0;
	var day_until = u.substring(i, (i = u.indexOf("/", i)));
	var month_until = u.substring(i + 1, (i = u.indexOf("/", i + 1)));
	var year_until = u.substring(i + 1, u.length);
	var from = new Date(year_from, month_from, day_from);
	var until = new Date(year_until, month_until, day_until);
	if ((f.length > 0) && (u.length > 0)) {
		if ((until.getTime() - from.getTime()) <= 0) {
			alert("La data di \"Emissione dal\" è più recente di quella di \"Emissione al\"");
			obj.releaseFrom.focus();
			obj.releaseFrom.select();
			return false;
		}
	}
	if (f.length > 0 && obj.forthRelease.checked) {
		alert("Non è possibile scegliere un periodo di emissione e contemporaneamente le emissioni future");
		return false;
	}
	return true;
}
function checkCatAll() {
	var obj = document.forms[0];
	setMusic(1);
	setGames(1);
	setEdutainment(1);
	setMovie(1);
	setSpokenWord(1);
	setInteractive(1);
	setCatAll(1);
}
function checkMusic() {
	var obj = document.forms[0];
	setMusic(1);
	setGames(0);
	setEdutainment(0);
	setMovie(0);
	setSpokenWord(0);
	setInteractive(0);
	setCatAll(0);
}
function checkGames() {
	var obj = document.forms[0];
	setMusic(0);
	setGames(1);
	setEdutainment(0);
	setMovie(0);
	setSpokenWord(0);
	setInteractive(0);
	setCatAll(0);
}
function checkEdutainment() {
	var obj = document.forms[0];
	setMusic(0);
	setGames(0);
	setEdutainment(1);
	setMovie(0);
	setSpokenWord(0);
	setInteractive(0);
	setCatAll(0);
}
function checkMovie() {
	var obj = document.forms[0];
	setMusic(0);
	setGames(0);
	setEdutainment(0);
	setMovie(1);
	setSpokenWord(0);
	setInteractive(0);
	setCatAll(0);
}
function checkSpokenWord() {
	var obj = document.forms[0];
	setMusic(0);
	setGames(0);
	setEdutainment(0);
	setMovie(0);
	setSpokenWord(1);
	setInteractive(0);
	setCatAll(0);
}
function checkInteractive() {
	var obj = document.forms[0];
	setMusic(0);
	setGames(0);
	setEdutainment(0);
	setMovie(0);
	setSpokenWord(0);
	setInteractive(1);
	setCatAll(0);
}
function checkMusicSubdivision() {
	var obj = document.forms[0];
	checkMusicCategoryLogic();
	if (obj.catAll.checked) {
		checkMusic();
	}
	if (!obj.catMusic.checked) {
		setMusic(0);
	}
}
function checkGamesSubdivision() {
	var obj = document.forms[0];
	checkMusicCategoryLogic();
	if (obj.catAll.checked) {
		checkGames(1);
	}
	if (!obj.catGames.checked) {
		setGames(0);
	}
}
function checkEdutainmentSubdivision() {
	var obj = document.forms[0];
	checkMusicCategoryLogic();
	if (obj.catAll.checked) {
		checkEdutainment();
	}
	if (!obj.catEdu.checked) {
		setEdutainment(0);
	}
}
function checkMovieSubdivision() {
	var obj = document.forms[0];
	checkMusicCategoryLogic();
	if (obj.catAll.checked) {
		checkMovie();
	}
	if (!obj.catMovie.checked) {
		setMovie(0);
	}
}
function checkSpokenWordSubdivision() {
	var obj = document.forms[0];
	checkMusicCategoryLogic();
	if (obj.catAll.checked) {
		checkSpokenWord();
	}
	if (!obj.catSpokenWord.checked) {
		setSpokenWord(0);
	}
}
function checkInteractiveSubdivision() {
	var obj = document.forms[0];
	checkMusicCategoryLogic();
	if (obj.catAll.checked) {
		checkInteractive();
	}
	if (!obj.catInteractive.checked) {
		setInteractive(0);
	}
}
function setCatAll(num) {
	var obj = document.forms[0];
	obj.catAll.checked = num;
}
function setMusic(num) {
	var obj = document.forms[0];
	obj.catMusic.checked = num;
	obj.catMusicClassic.checked = num;
	obj.catMusicCountry.checked = num;
	obj.catMusicFolk.checked = num;
	obj.catMusicJazz.checked = num;
	obj.catMusicLatin.checked = num;
	obj.catMusicPop.checked = num;
}
function setGames(num) {
	var obj = document.forms[0];
	obj.catGames.checked = num;
	obj.catGamesAction.checked = num;
	obj.catGamesAdventure.checked = num;
	obj.catGamesRole.checked = num;
	obj.catGamesSimulation.checked = num;
	obj.catGamesSports.checked = num;
	obj.catGamesStrategy.checked = num;
}
function setEdutainment(num) {
	var obj = document.forms[0];
	obj.catEdu.checked = num;
	obj.catEduAdult.checked = num;
	obj.catEduChildren.checked = num;
	obj.catEduInformation.checked = num;
}
function setMovie(num) {
	var obj = document.forms[0];
	obj.catMovie.checked = num;
	obj.catMovieCartoons.checked = num;
	obj.catMovieChildren.checked = num;
	obj.catMovieClassic.checked = num;
	obj.catMovieDocumentary.checked = num;
	obj.catMovieFeatureFilm.checked = num;
	obj.catMovieSpecialInterest.checked = num;
}
function setSpokenWord(num) {
	var obj = document.forms[0];
	obj.catSpokenWord.checked = num;
	obj.catSpokenWordComedy.checked = num;
	obj.catSpokenWordEdu.checked = num;
	obj.catSpokenWordLiterature.checked = num;
	obj.catSpokenWordRadioPlay.checked = num;
}
function setInteractive(num) {
	var obj = document.forms[0];
	obj.catInteractive.checked = num;
	obj.catInteractiveMusicClassic.checked = num;
	obj.catInteractiveMusicCountry.checked = num;
	obj.catInteractiveMusicFolk.checked = num;
	obj.catInteractiveMusicJazz.checked = num;
	obj.catInteractiveMusicLatin.checked = num;
	obj.catInteractiveMusicPop.checked = num;
	obj.catInteractiveErotic.checked = num;
	obj.catInteractiveVideo.checked = num;
}
function checkMusicCategoryLogic() {
	var obj = document.forms[0];
	if (obj.catMusic.checked) {
		if ((!obj.catMusicClassic.checked) && (!obj.catMusicCountry.checked) && (!obj.catMusicFolk.checked) && (!obj.catMusicJazz.checked) && (!obj.catMusicPop.checked) && (!obj.catMusicLatin.checked)) {
			alert("Choose at least one Category of Music");
			return false;
		}
	}
	if (obj.catGames.checked) {
		if ((!obj.catGamesAction.checked) && (!obj.catGamesAdventure.checked) && (!obj.catGamesRole.checked) && (!obj.catGamesSimulation.checked) && (!obj.catGamesSports.checked) && (!obj.catGamesStrategy.checked)) {
			alert("Choose at least one Category of Games");
			return false;
		}
	}
	if (obj.catEdu.checked) {
		if ((!obj.catEduAdult.checked) && (!obj.catEduChildren.checked) && (!obj.catEduInformation.checked)) {
			alert("Choose at least one Category of Edutainment");
			return false;
		}
	}
	if (obj.catMovie.checked) {
		if ((!obj.catMovieCartoons.checked) && (!obj.catMovieChildren.checked) && (!obj.catMovieClassic.checked) && (!obj.catMovieDocumentary.checked) && (!obj.catMovieFeatureFilm.checked) && (!obj.catMovieSpecialInterest.checked)) {
			alert("Choose at least one Category of Movie");
			return false;
		}
	}
	if (obj.catSpokenWord.checked) {
		if ((!obj.catSpokenWordComedy.checked) && (!obj.catSpokenWordEdu.checked) && (!obj.catSpokenWordLiterature.checked) && (!obj.catSpokenWordRadioPlay.checked)) {
			alert("Choose at least one Category of Spoken Word");
			return false;
		}
	}
	if (obj.catInteractive.checked) {
		if ((!obj.catInteractiveMusicClassic.checked) && (!obj.catInteractiveMusicCountry.checked) && (!obj.catInteractiveMusicFolk.checked) && (!obj.catInteractiveMusicJazz.checked) && (!obj.catInteractiveMusicLatin.checked) && (!obj.catInteractiveMusicPop.checked) && (!obj.catInteractiveErotic.checked) && (!obj.catInteractiveVideo.checked)) {
			alert("Choose at least one Category of Interactive");
			return false;
		}
	}
	return true;
}

