
/****************************************************************
* file: 	utils.js
* author:	toy
* date:		22oct08
* re:		basic js utils good for general use
*
* rev history
* [toy 22oct08]		orig version
*****************************************************************/

// extend string object: trim
String.prototype.trim = function () {
	return this.replace(/^\s+|\s+$/g,"");
}

// toggle visibility of an elements
function toggle(element, setting) {
    var e = document.getElementById(element);
    e.style.display = (setting == '' ? (((e.style.display == 'none') || (e.style.display == '')) ? 'block' : 'none') : setting);
}


// toggle visibility of an elements and return value of what it is now
function toggleDiv(divID, setting) {
    var e = document.getElementById(divID);
    e.style.display = (setting == '' ? (e.style.display == 'none' ? 'block' : 'none') : setting);
    return e.style.display;
}


// return the value of the radio button that is checked
// return an empty string if none are checked, or
// there are no radio buttons
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}


function checkBDate() {

	var yyyy = (auditionform.elements["dobyyyy"].value.trim() =="") ? 2000 : auditionform.elements["dobyyyy"].value.trim(); 
	var mm = (auditionform.elements["dobmm"].value.trim() =="") ? 0 : auditionform.elements["dobmm"].value.trim(); 
	var dd = (auditionform.elements["dobdd"].value.trim() =="") ? 1 : auditionform.elements["dobdd"].value.trim(); 
	
    var now = new Date();
    var today = new Date(now.getYear(),now.getMonth(),now.getDate());


    var yearNow = now.getYear();
    var monthNow = now.getMonth();
    var dateNow = now.getDate();

	var dob = new Date(yyyy,mm,dd);

    var yearDob = dob.getYear();
    var monthDob = dob.getMonth();
    var dateDob = dob.getDate();

    yearAge = yearNow - yearDob;
	
	
    if (monthNow >= monthDob)
        var monthAge = monthNow - monthDob;
    else {
        yearAge--;
        var monthAge = 12 + monthNow -monthDob;
    }

    if (dateNow >= dateDob)
        var dateAge = dateNow - dateDob;
    else {
        monthAge--;
        var dateAge = 31 + dateNow - dateDob;

        if (monthAge < 0) {
            monthAge = 11;
            yearAge--; 
        }
    }

    return ((yearAge >= 18) ? true : false);
}

function confirmDelete(id) {
    var answer = confirm("Are you sure you want to delete item " + id + "?");
    return (answer);
}

function isInteger(val) {
    alert(val.value);
    if (val == null) {
        alert(val);
        return false;
    }
    if (val.length == 0) {
        alert(val);
        return false;
    }
    for (var i = 0; i < val.length; i++) {
        var ch = val.charAt(i)
        if (i == 0 && ch == "-") {
            continue
        }
        if (ch < "0" || ch > "9") {
            return false
        }
    }
    return true
}

function rotateImages(div, imageArray, picIndex, timeout, url) {
    // for some reason js does not like my ternary op 
    // so i have to freakin spell it out
    // plus the js math isnt working right 
	if (picIndex+1<imageArray.length) {picIndex = picIndex+1;}
	else {picIndex = 0;}
	
	u = (url != "" ? "<a href=\""+url+"\">" : "");
	document.getElementById(div).innerHTML = u+"<img src='"+imageArray[picIndex]+"' />" + (url != "" ? "</a>" : "");
	window.setTimeout("rotateImages('"+div+"', Array('"+imageArray.join("','")+"'),"+(picIndex++)+","+timeout+",'"+url+"')", +timeout);
}

