// Date drop down boxes
function changeDays(date_form, FieldNames) {
	objForm = document.forms[date_form.name];
	mnthFld = FieldNames+'MM';
	yrFld = FieldNames+'YYYY';
	dyFld = FieldNames+'DD';
	
	mth = objForm[mnthFld].selectedIndex;
	yr = objForm[yrFld].options[objForm[yrFld].selectedIndex].text;
	numDays = numDaysIn(mth,yr);
	objForm[dyFld].options.length = numDays;
	for (i=27;i<numDays;i++) {
		objForm[dyFld].options[i].text = i+1;
	}
}

function numDaysIn(mth,yr) {
	if (mth==3 || mth==5 || mth==8 || mth==10) return 30;
	else if ((mth==1) && leapYear(yr)) return 29;
	else if (mth==1) return 28;
	else return 31;
}

function leapYear(yr) {
	if (((yr % 4 == 0) && yr % 100 != 0) || yr % 400 == 0)
		return true;
	else
		return false;
}

//To open windows / popup confirms
function openWindow(link, name, param) {
	if (typeof(link) == 'object') {
		wnd = window.open(link.href, name, param);
	}
	else {
		wnd = window.open(link, name, param);
	}
	if (typeof(wnd) == 'object' && wnd != null)
		wnd.focus();
	return wnd ? false : true;
}

function ConfirmAction(strTxt, strLocation) {
	if (confirm(strTxt)) {
		window.location.href=strLocation;
	}
}

function ConfirmSubmit(strTxt) {
	if (confirm(strTxt)) {
		return true;
	}
	else {
		return false;
	}
}

// Image mouse overs
function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

var preloadFlag = false;
function preloadImages() {
	if (document.images) {
		imagehourglass			= newImage("/images/HourGlass.gif");
		button_home_over		= newImage("/images/buttons/button_home_over.gif");
		button_talkman_over		= newImage("/images/buttons/button_talkman_over.gif");
		button_orders_over		= newImage("/images/buttons/button_orders_over.gif");
		button_users_over		= newImage("/images/buttons/button_users_over.gif");
		button_accounts_over	= newImage("/images/buttons/button_accounts_over.gif");
		imageserver 			= newImage("/images/icons/server.gif");
		imageserveroff			= newImage("/images/icons/serveroff.gif");
		imageserverupgrade		= newImage("/images/icons/serverupgrade.gif");
		imageblue				= newImage("/images/blue.gif");
		imageblack				= newImage("/images/black.gif");
		preloadFlag				= true;
	}
}

// Hidden area visibility
function ShowHiddenArea(ElementID) {
	objElement = eval(ElementID)
	if (objElement.style.display == 'none') {
		objElement.style.display = 'block';
	}
	else {
		objElement.style.display = 'none';
	}
}

function dateAdd( start, interval, number ) {

    var startMsg = "Sorry the start parameter of the dateAdd function\n"
        startMsg += "must be a valid date format.\n\n"
        startMsg += "Please try again." ;
		
    var intervalMsg = "Sorry the dateAdd function only accepts\n"
        intervalMsg += "d, h, m OR s intervals.\n\n"
        intervalMsg += "Please try again." ;

    var numberMsg = "Sorry the number parameter of the dateAdd function\n"
        numberMsg += "must be numeric.\n\n"
        numberMsg += "Please try again." ;

    var buffer = Date.parse( start ) ;

    if ( isNaN (buffer) ) {
        alert( startMsg ) ;
        return null ;
    }
    if ( interval.charAt == 'undefined' ) {
        alert( intervalMsg ) ;
        return null ;
    }

    if ( isNaN ( number ) )	{
        alert( numberMsg ) ;
        return null ;
    }
	
    switch (interval.charAt(0))
    {
        case 'd': case 'D': 
            number *= 24 ; // days to hours
        case 'h': case 'H':
            number *= 60 ; // hours to minutes
        case 'm': case 'M':
            number *= 60 ; // minutes to seconds
        case 's': case 'S':
            number *= 1000 ; // seconds to milliseconds
            break ;
        default:	
        alert(intervalMsg) ;
        return null ;
    }
    return new Date( buffer + number ) ;
}

function CheckBrowser() {
	var objNavigator = window.navigator;
	var BrowserVersion = objNavigator.appVersion;
	BrowserVersion = BrowserVersion.substr(BrowserVersion.indexOf('MSIE') + 5, 1);

	if (objNavigator.cookieEnabled == true &&  objNavigator.appName == 'Microsoft Internet Explorer' && BrowserVersion >= 5) {
		strMessage = 'The application will open shortly. If it does not, please <a href="/SelectServer.asp">click here</a>.'
		//document.onload = OpenInFullScreen('/SelectServer.asp')
		document.onload = window.location.href = '/SelectServer.asp';
	}
	else {
		strMessage = "Your browser does not meet the requirements of this application:<br />";
		if (objNavigator.cookieEnabled == false)
			strMessage = strMessage + '* Client-side, persistant cookies are disabled<br />'
		if (objNavigator.appName != 'Microsoft Internet Explorer')
			strMessage = strMessage + '* You are not using Microsoft Internet Explorer<br />'
		if (BrowserVersion < 5)
			strMessage = strMessage + '* You are not using a 5th generation or greater browser<br />'
	}
	//document.location.href='/default.asp'
	return strMessage;
}

function OpenInFullScreen(link) {
	return openWindow(link, 'PickManagerMain', 'fullscreen=0, width=780, height=480, scrollbars=1, location=0, directories=0, status=1, menubar=0, resizable=yes');
}

function SubmitToPopup(frmParent, windowName, params) {
	var win = openWindow('', windowName, params); // returns false if the windows opens successfully
	if (win == false) {
		frmParent.target = windowName;
		frmParent.submit();
	} else {
		// else just submit form to current window
		frmParent.submit();
	}
}

function ExpandXSPFPlayer() {
	var objPlayer = document.xspf_player;
	if (objPlayer.width==80) {
		objPlayer.width=400;
		objPlayer.height=170;
	} else {
		objPlayer.width=80;
		objPlayer.height=72;
	}
}

function InsertTextArea(myField, myValue) {
	if (myField.document.selection) {
		//IE support
		myField.focus();
		sel = myField.document.selection.createRange();
		sel.text = myValue;
	} else if (myField.selectionStart || myField.selectionStart == '0') {
		//MOZILLA/NETSCAPE support
		var startPos = myField.selectionStart;
		var endPos = myField.selectionEnd;
		myField.value = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length);
	} else {
		myField.value += myValue;
	}
}

function setCaretToStart (control) {
  if (control.createTextRange) {
    var range = control.createTextRange();
    range.collapse(true);
    range.select();
  }
  else if (control.setSelectionRange) {
    control.focus();
    control.setSelectionRange(0, 0);
  }
}

function fixImgs(whichId, maxW) {
	var pix = document.getElementById(whichId).getElementsByTagName('img');
	for (i=0; i<pix.length; i++) {
		w=pix[i].width;
		h=pix[i].height;
		if (w > maxW) {
			f=1-((w - maxW) / w);
			pix[i].width=w * f;
			pix[i].height=h * f;
		}
	}
}

function CalcMBFromBytes(txtBox, UpdateElement) {
	var FinalNumber;
	if (isNaN(txtBox.value) == false) {
		var GigaBytes = ((txtBox.value / 1024) / 1024) / 1024;
		var MegaBytes = (txtBox.value / 1024) / 1024;
		var KiloBytes = txtBox.value / 1024;
		
		if (Math.floor(GigaBytes) > 0) {
			FinalNumber = GigaBytes.toFixed(3) + ' <span class="WarningText">GB</span>';
		} else if (Math.floor(MegaBytes) > 0) {
			// Show as megabytes
			FinalNumber = MegaBytes.toFixed(3) + ' <span class="WarningText">MB</span>';
		} else {
			// Show as Kilobytes
			FinalNumber = KiloBytes.toFixed(3) + ' <span class="WarningText">KB</span>';
		}
	} else {
		FinalNumber = '<span class="WarningText">0 KB</span>';
	}
	UpdateElement.innerHTML = FinalNumber;
}
