
    function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
	    this[i] = 31
    	    if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
	    if (i==2) {this[i] = 29}
	}
	return this
    }

    function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
	// EXCEPT for centurial years which are not also divisible by 400.
	return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
    }

    function checkMyDate(field) {

	var dateEx1 = /^(\d|\d\d)([\\\/\ \-]{1})(\d|\d\d)([\\\/\ \-]{1})(\d\d|\d\d\d\d)$/;
	var dateEx2 = /^(\d|\d\d)([\\\/\ \-]{1})(\d|\d\d)$/;
	var my_date = field.value;

	var my_day = '';
	var my_month = '';
	var my_year = '';
	var final_date = '';
	var daysInMonth = DaysArray(12);

	if (m = my_date.match(dateEx1)) {
	    my_day = m[3];
	    my_month = m[1];
	    my_year = m[5];

	    if (my_day.length < 2) {
		my_day = '0' + my_day;
	    }
	    if (my_month.length < 2) {
		my_month = '0' + my_month;
	    }
	    if (my_year.length == 2) {
		my_year = '20' + my_year;
	    }

	    if ((parseInt(my_day) < 1) | (parseInt(my_day) > 31) | (parseInt(my_month) < 1) | (parseInt(my_month) > 12) | (my_year < 1900) | (parseInt(my_month) == 2 && parseInt(my_day) > daysInFebruary(my_year)) | (parseInt(my_day) > daysInMonth[parseInt(my_month)])) {
		field.style.color = '#ff0000';
		return false;
	    }

	    final_date = my_year + '-' + my_month + '-' + my_day;
	    field.style.color = '#000000';

	    return true;
	}
	else if (m = my_date.match(dateEx2)) {
	    my_day = m[3];
	    my_month = m[1];

	    var d = new Date();
	    my_year = d.getFullYear();

	    if (my_day.length < 2) {
		my_day = '0' + my_day;
	    }
	    if (my_month.length < 2) {
		my_month = '0' + my_month;
	    }
	    if (my_year.length == 2) {
		my_year = '20' + my_year;
	    }

	    if ((parseInt(my_day) < 1) | (parseInt(my_day) > 31) | (parseInt(my_month) < 1) | (parseInt(my_month) > 12) | (my_year < 1900) | (parseInt(my_month) == 2 && parseInt(my_day) > daysInFebruary(my_year)) | (parseInt(my_day) > daysInMonth[parseInt(my_month)])) {
		field.style.color = '#ff0000';
		return false;
	    }

	    final_date = my_year + '-' + my_month + '-' + my_day;
	    field.style.color = '#000000';

	    return true;
	}
	else {
	    field.style.color = '#ff0000';
	    return false;
	}
    }


function show_add_comment_form() {
  $('ADD_COMMENT').removeClass('hide');
  $('COMMENT_TXT').addClass('hide');
  $('ADD_COMMENT_CONTENT').focus();
  return false;
}

function hide_add_comment_form() {
  $('ADD_COMMENT').addClass('hide');
  $('COMMENT_TXT').removeClass('hide');
  return false;
}

function submit() {
}

var sArray = new Object;
sArray[0] = new Image;
sArray[0].src = "/images/star_big_grey.gif";
for (var i=1; i<6; i++) {
        sArray[i] = new Image();
        sArray[i].src = "/images/star_big_" + i + ".gif";
}

var starTimer;

function showStars(starNum) {
        clearStarTimer();
        greyStars();
        colorStars(starNum);
}

function colorStars(starNum) {
        for (var i=1; i <= starNum; i++) {
                var tmpStar = document.getElementById('star_' + i);
                tmpStar.src = sArray[starNum].src;
        }
}

function greyStars() {
        for (var i=1; i<6; i++) {
                var tmpStar = document.getElementById('star_' + i);
                tmpStar.src = sArray[0].src;
        }
}

function setStars(starNum) {
        clearStarTimer();
        var rating = document.getElementById('rating');
        rating.value = starNum;
        showStars(starNum);
}

function clearStars() {
        starTimer = setTimeout("resetStars()", 300);
}

function resetStars() {
        clearStarTimer();
        var rating = document.getElementById('rating');
        if (rating.value != '') {
                setStars(rating.value);
        } else {
                greyStars();
        }
}

function clearStarTimer() {
        if (starTimer) {
                clearTimeout(starTimer);
                starTimer = null;
        }
}

// be nice to non-javascript enabled browsers
function replaceStars() {
	var str = '';
	for(var i=1;i<6;i++){
       	str+='<a href="#" onmouseover="showStars('+i+');return false" onmouseout="clearStars();return false" onclick="setStars('+i+');return false"><img src="'+imagesPrefix+'ico/star_big_grey.gif" id="star_'+i+'" alt="star"></a>';
	}
	document.getElementById('starRating').innerHTML=str;
}
