var dohidesubmenu;
var canhidesubmenu=true;
var selectedProjectImage=1;
var numProjectImages;
 
function setClass(el, cls){
	document.getElementById(el).className=cls;
}
function handleCredits(phid){
	if(document.getElementById("ph"+phid).style.display==""){
		document.getElementById("ph"+phid).style.display="none";
	}else{
		document.getElementById("ph"+phid).style.display=""
	}
}
function handleProjectImageIconOver(icon){
	if(Right(document.getElementById("icon"+icon).src, 8)=="icon.gif"){
		document.getElementById("icon"+icon).src="IMAGES/project.image.icon.rollover.gif";
	}
}
function handleProjectImageIconOut(icon){
	if(Right(document.getElementById("icon"+icon).src, 12)=="rollover.gif"){
		document.getElementById("icon"+icon).src="IMAGES/project.image.icon.gif";
	}
}
function swapProjectImage(icon){
	document.getElementById("icon"+selectedProjectImage).src="IMAGES/project.image.icon.gif";
	selectedProjectImage=icon;
	document.getElementById("icon"+selectedProjectImage).src="IMAGES/project.image.icon.selected.gif";
	document.getElementById("mainimage").src=document.getElementById("himg"+icon).src;
}
function prevProjectImage(){
	if(selectedProjectImage>1){
		swapProjectImage(selectedProjectImage-1);
	}
}
function nextProjectImage(){
	if(selectedProjectImage<numProjectImages){
		swapProjectImage(selectedProjectImage+1);
	}
}
//******************************
// Main menu
//******************************
function showSubmenu(){
	hideSubmenu();
	document.getElementById('aboutMenuDropdown').style.display="";
	return false;
}
function hideSubmenu(){
	if(!canhidesubmenu)return;
	if(dohidesubmenu){
		document.getElementById('aboutMenuDropdown').style.display='none';
	}
}
//******************************
// Admin formatting
//******************************
function insertText(txt, fld){
	if(document.selection){
		fld.focus();
		var sel=document.selection.createRange();
		sel.text=txt;
	}else{
		fld.value=fld.value.substring (0,fld.selectionStart)+txt+fld.value.substring(fld.selectionEnd);
	}
}
function insertProductLink(src, fld){
	if(document.selection){
		fld.focus();
		var sel=document.selection.createRange();
		if(src.value!=''){
			sel.text='<A HREF="?'+src.value+'">'+src.options(src.selectedIndex).text+'</A>';
		}
	}else{
		if(src.value!=''){
			fld.value=fld.value.substring (0,fld.selectionStart)+'<A HREF="?'+src.value+'">'+src.options(src.selectedIndex).text+'</A>'+fld.value.substring(fld.selectionEnd);
		}
	}
}
function setItalic(fld){
	if(document.selection){
		fld.focus();
		var sel=document.selection.createRange();
		sel.text='<I>'+sel.text+'</I>';
	}else{
		if(fld.selectionStart!=fld.selectionEnd){
			fld.value=fld.value.substring (0,fld.selectionStart)+'<I>'+fld.value.substring(fld.selectionStart, fld.selectionEnd)+'</I>'+fld.value.substring(fld.selectionEnd);
		}
	}
}
function setBold(fld){
	if(document.selection){
		fld.focus();
		var sel=document.selection.createRange();
		sel.text='<B>'+sel.text+'</B>';
	}else{
		if(fld.selectionStart!=fld.selectionEnd){
			fld.value=fld.value.substring (0,fld.selectionStart)+'<B>'+fld.value.substring(fld.selectionStart, fld.selectionEnd)+'</B>'+fld.value.substring(fld.selectionEnd);
		}
	}
}
//******************************
// Misc
//******************************
function isIE(){
	//alert(navigator.appVersion);
	if(navigator.appVersion.indexOf("MSIE") != -1)return true;
    return(false);
}
function testemail(src) {
	var regex = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
	return regex.test(src);
}
function printWindow() {
	bV = parseInt(navigator.appVersion);
	if (bV >= 4) window.print();
}
//******************************
// Trim
//******************************
function LTrim(str){
	var i = 0;
	var j = str.length - 1;

	if(str==null)return ('');

	for (i = 0; i < str.length; i++){
		if(str.substr(i, 1)!=' '&&str.substr(i, 1)!='\t')break;
	}

	if(i<=j)
		return (str.substr(i, (j + 1) - i));
	else
		return ('');
}
function RTrim(str){
	var i = 0;
	var j = str.length - 1;

	if(str==null)return ('');

	for(j = str.length - 1; j >= 0; j--){
		if(str.substr(j, 1)!=' '&&str.substr(j, 1)!='\t')break;
	}

	if (i<=j)
		return (str.substr(i, (j + 1) - i));
	else
		return ('');
}
function Trim(str){
	if(str==null)return ('');
	return RTrim(LTrim(str));
}
//******************************
// Left, Right
//******************************
function Left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}
function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}
//******************************
// Date validation
//******************************
var dtCh= "/";

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    return true;
}
function stripCharsInBag(s, bag){
	var i;
    var returnString = "";

    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}
function daysInFebruary (year){
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
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 isDate(dtStr){
	var daysInMonth = DaysArray(12);
	var pos1 = dtStr.indexOf(dtCh);
	var pos2 = dtStr.indexOf(dtCh, pos1 + 1);
	var strDay = dtStr.substring(0, pos1);
	var strMonth = dtStr.substring(pos1 + 1, pos2);
	var strYear = dtStr.substring(pos2 + 1);

	strYr = strYear;

	if (strDay.charAt(0) == "0" && strDay.length > 1) strDay = strDay.substring(1);
	if (strMonth.charAt(0) == "0" && strMonth.length > 1) strMonth = strMonth.substring(1);
	if (strYr.charAt(0) == "0" && strYr.length > 3) strYr = strYr.substring(1);

	month = parseInt(strMonth);
	day = parseInt(strDay);
	year = parseInt(strYr);

	if (pos1 == -1 || pos2 == -1){
		//alert("Date format should be: dd/mm/yyyy.");
		return false;
	}
	if (strMonth.length < 1 || month < 1 || month > 12){
		//alert("Please enter valid month.");
		return false;
	}
	if (strDay.length < 1 || day < 1 || day > 31 || (month == 2 && day > daysInFebruary(year)) || day > daysInMonth[month]){
		//alert("Please enter valid day.");
		return false;
	}
	if (strYear.length != 4 || year == 0){
		//alert("Please enter 4 digit year.");
		return false;
	}
	if (dtStr.indexOf(dtCh,pos2+1) != -1 || isInteger(stripCharsInBag(dtStr, dtCh)) == false){
		//alert("Please enter valid date.");
		return false;
	}
	return true;
}
//******************************
// Encoding
//******************************
function urlEncode(str){
	str = escape(str);
	return str.replace(/[*+\/@]|%20/g,
		function(s){
			switch(s){
				case "*": s = "%2A"; break;
				case "+": s = "%2B"; break;
				case "/": s = "%2F"; break;
				case "@": s = "%40"; break;
				case "%20": s = "+"; break;
			}
			return s;
		}
	);
}
//******************************
// Modal
//******************************
function showModal(){
	//document.getElementById('ifrmcomments').src='comments.asp?act=com&c='+entityId;
	$('#divModal').modal({opacity:70});
}

