﻿function GetRootURL()
{
    var urlSplit = document.URL.split("//"); // split at protocol
    urlSplit = (urlSplit[1] ? urlSplit[1] : urlSplit[0]).split("/"); 
    
    var server = urlSplit[0];
    var siteName = urlSplit[1];
    var folder = urlSplit[2];
    var rootURLPath;
        
    switch (server) {
        case "localhost":
            rootURLPath = "/" + siteName + "/";
            break;    
        case "sto.idaho.gov":
            rootURLPath = "/";
            break;
        case "www.sto.idaho.gov":
            rootURLPath = "/";
            break;
        default:
            rootURLPath = "/";
            break;
    }
    
    return rootURLPath;
}

function GetRootImageURL()
{
    var urlSplit = document.URL.split("//"); // split at protocol
    urlSplit = (urlSplit[1] ? urlSplit[1] : urlSplit[0]).split("/"); 

    var server = urlSplit[0];
    var siteName = urlSplit[1];
    var folder = urlSplit[2];

    var rootURLPath;
    var rootURLImagePath;
            
    switch (server) {
        case "localhost":
            rootURLPath = "/" + siteName + "/";
            rootURLImagePath = "/" + siteName + "/Common/";
            break;
        case "sto.idaho.gov":
            rootURLPath = "/";
            rootURLImagePath = rootURLPath;
            break;
        case "www.sto.idaho.gov":
            rootURLPath = "/";
            rootURLImagePath = rootURLPath;
            break;
        default:
            rootURLPath = "/";
            rootURLImagePath = rootURLPath;
            break;            
    }
    
    return rootURLImagePath;
}

function CenterNewPopupWindow(myPage, myName, w, h, features) {
    if (screen.width) {
        var winl = (screen.width - w) / 2;
        var wint = (screen.height - h) / 2;
    }
    else {
        winl = 0; wint = 0;
    }

    if (winl < 0) winl = 0;
    if (wint < 0) wint = 0;

    var windowSettings = 'height=' + h + ',';
    windowSettings += 'width=' + w + ',';
    windowSettings += 'top=' + wint + ',';
    windowSettings += 'left=' + winl + ',';
    windowSettings += features;

    win = window.open(myPage, myName, windowSettings);

    win.window.focus()
}	

function FormatCurrencyTextBox(textBoxObject)
{
    var num = textBoxObject.value;

    if (num != "") {
        num = num.toString().replace(/\$|\,/g, '');

        if (isNaN(num)) {
            num = "0";
        }

        sign = (num == (num = Math.abs(num)));
        num = Math.floor(num * 100 + 0.50000000001);
        cents = num % 100;
        num = Math.floor(num / 100).toString();

        if (cents < 10) {
            cents = "0" + cents;
        }

        for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++) {
            num = num.substring(0, num.length - (4 * i + 3)) + ',' + num.substring(num.length - (4 * i + 3));
        }

        textBoxObject.value = (((sign) ? '' : '-') + '$' + num + '.' + cents);
    }
}

function FormatCurrencyReturnValue(inputValue)
{
    var num = inputValue;

    if (num != "") {
        num = num.toString().replace(/\$|\,/g, '');

        if (isNaN(num)) {
            num = "0";
        }

        sign = (num == (num = Math.abs(num)));
        num = Math.floor(num * 100 + 0.50000000001);
        cents = num % 100;
        num = Math.floor(num / 100).toString();

        if (cents < 10) {
            cents = "0" + cents;
        }

        for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++) {
            num = num.substring(0, num.length - (4 * i + 3)) + ',' + num.substring(num.length - (4 * i + 3));
        }

        return (((sign) ? '' : '-') + '$' + num + '.' + cents);
    }
    else {
        return "";
    }
}

function FormatPercentTextBox(textBoxObject)
{
    var textBoxText = textBoxObject.value;

    if (textBoxText != "") {
        textBoxText = RemovePercentSign(textBoxText);

        if (textBoxText == "") {
            textBoxText = "0";
        }

        var p = textBoxText.indexOf(".");
        if (p < 0) {
            // No decimal present.
            textBoxText += ".0";
            p = textBoxText.indexOf(".");
        }

        if (p == 0) {
            // Decimal at position 0
            textBoxText = "0" + textBoxText;
            p = textBoxText.indexOf(".");
        }

        textBoxText += (p == textBoxText.length - 1) ? "0" : "";

        textBoxObject.value = textBoxText + "%";
    }
}

function RemovePercentSign(inputString)
{
	var p = inputString.indexOf("%");
	
	if(p > -1)
		return inputString.substring(0,p);
	else
		return inputString;
}

function NumericKeyUp(textBoxObj)
{
	var inputStr = textBoxObj.value.toString();
	var strLength = inputStr.length;
	var newStr = "";
	
	for (var i = 0; i < strLength; i++)  
	{
		var oneChar = inputStr.charAt(i);
		
		if (!( isNaN(oneChar) || oneChar == ' ') || oneChar == '.' || oneChar == ',' || oneChar == '-')
		{  
			newStr = String(newStr) + String(textBoxObj.value.substring(i,i+1));
		}
	}
	
	if (newStr != textBoxObj.value)
	{
		textBoxObj.value = newStr;
	}	
}

function CurrencyKeyUp(textBoxObj)
{
	var inputStr = textBoxObj.value.toString();
	var strLength = inputStr.length;
	var newStr = "";
	
	for (var i = 0; i < strLength; i++)  
	{
		var oneChar = inputStr.charAt(i);
		
		if (!( isNaN(oneChar) || oneChar == ' ') || oneChar == '.'  || oneChar == ',' || oneChar == '$' || oneChar == '-')
		{  
			newStr = String(newStr) + String(textBoxObj.value.substring(i,i+1));
		}
	}
	
	if (newStr != textBoxObj.value)
	{
		textBoxObj.value = newStr;
	}	
}

function PhoneNumberKeyUp(textBoxObj)
{
	var inputStr = textBoxObj.value.toString();
	var strLength = inputStr.length;
	var newStr = "";
	
	for (var i = 0; i < strLength; i++)  
	{
		var oneChar = inputStr.charAt(i);
		
		if (!( isNaN(oneChar) || oneChar == ' ') || oneChar == '('  || oneChar == ')' || oneChar == '-')
		{  
			newStr = String(newStr) + String(textBoxObj.value.substring(i,i+1));
		}
	}
	
	if (newStr != textBoxObj.value)
	{
		textBoxObj.value = newStr;
	}	
}

function PercentKeyUp(textBoxObj)
{
	var inputStr = textBoxObj.value.toString();
	var strLength = inputStr.length;
	var newStr = "";
	
	for (var i = 0; i < strLength; i++)  
	{
		var oneChar = inputStr.charAt(i);
		
		if (!( isNaN(oneChar) || oneChar == ' ') || oneChar == '.'  || oneChar == ',' || oneChar == '%' || oneChar == '-')
		{  
			newStr = String(newStr) + String(textBoxObj.value.substring(i,i+1));
		}
	}
	
	if (newStr != textBoxObj.value)
	{
		textBoxObj.value = newStr;
	}	
}
