﻿

var popup;
function showPopup( link )
{
	if ( popup )
		{
			if ( ! popup.closed ) popup.close();
		}

	// open new window with image selector

	// open new window with image selector

	var xMax = 1024, yMax = 768;
	if ( parseInt( navigator.appVersion ) > 3 )
   {
	   xMax = screen.width;
		yMax = screen.height;
	}

	var xOffset = ( xMax - 600 ) / 2;
	var yOffset = ( yMax - 200 ) / 2;
	popup = open( link, 'LicenseQuote', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=yes,width=900,height=700,left=' + yOffset +',right' + xOffset );

}


function debugForms()
{
    alert('DEBUG');
    //for (var i=0; i<document.forms.length; i++)
    //{
        var elems = document.forms[0].elements;
        //document.writeln(document.forms[i].name + ' has ' + elems.length + ' elements ');
        //alert(document.forms[i].name + ' has ' + elems.length + ' elements ');
        for (var j=0; j<elems.length; j++)
        {
            if (elems[j].name)
            {
                document.writeln(elems[j].name);
            }
        }
    //}
}

function getCheckboxChecked(elems, checkboxControlID)
{
    var isChecked = false;
    var checkboxControl = elems[checkboxControlID];
    if (checkboxControl != null)
        isChecked = checkboxControl.checked;
    return isChecked;
}

function setCheckboxChecked(elems, checkboxControlID, isChecked)
{
    var checkboxControl = elems[checkboxControlID];
    if (checkboxControl != null)
    {
        checkboxControl.checked = isChecked;
    }
}

function setCheckboxesChecked(elems, checkboxControlPrefixID, isChecked)
{
    for (var i=0; i<elems.length; i++)
    {
        var element = elems[i];
        if (element.type && element.type == 'checkbox' && element.name.indexOf(checkboxControlPrefixID) != -1)
        {
            element.checked = isChecked;
        }
    }
}

function setElementDisabled(document, elementID, disabledValue)
{
    var element = document.getElementById(elementID);
    if (element != null)
        element.disabled = disabledValue;
}

function setElementHidden(document, elementID, disabledValue)
{
    var element = document.getElementById(elementID);
    if (element != null)
    {
        if (disabledValue)
            element.style.display = 'none';
        else
            element.style.display = 'block';
    }
}

function setElementHidden_Inline(document, elementID, disabledValue)
{
    var element = document.getElementById(elementID);
    if (element != null)
    {
        if (disabledValue)
            element.style.display = 'none';
        else
            element.style.display = '';
    }
}

function setElementValue(document, elementID, value)
{
    var element = document.getElementById(elementID);
    if (element != null)
    {
        element.firstChild.data = value;
    }
}

function getElementValue(document, elementID)
{
    var element = document.getElementById(elementID);
    if (element != null)
    {
        return element.firstChild.data;
    }
}

function setControlDisabled(elems, controlID, disabledValue)
{
    var control = elems[controlID];
    if (control != null)
    {
        control.disabled = disabledValue;
    }
}

function setControlHidden(elems, controlID, disabledValue)
{
    var control = elems[controlID];
    if (control == null)
    {
		control = document.getElementById(controlID);
    }
    if (control != null)
    {
        if (disabledValue)
            control.style.display = 'none';
        else
            control.style.display = '';       
    }
}

function setCheckboxDisabled(elems, controlID, disabledValue)
{
    var control = elems[controlID];
    if (control != null)
    {
        control.disabled = disabledValue;
        if (control.parentNode)
        {
            control.parentNode.disabled = disabledValue;
        }
    }
}
            
function isControlDisabled(elems, controlID)
{
    var isDisabled = false;
    var control = elems[controlID];
    if (control != null)
    {
        isDisabled = control.disabled;
    }
    return isDisabled;
}

function setControlsDisabled(elems, controlPrefixID, disabledValue)
{
    for (var i=0; i<elems.length; i++)
    {
        var element = elems[i];
        if (element.name && element.name.indexOf(controlPrefixID) != -1)
        {
            element.disabled = disabledValue;
        }
    }
}

function setControlValue(elems, controlID, value)
{
    var control = elems[controlID];
    if (control != null)
    {
        control.value = value;
    }
}

function getControlValue(elems, controlID)
{
    var controlValue = '';
    var control = elems[controlID];
    if (control != null)
        controlValue = control.value;
    return controlValue;
}

function setControlsValue(elems, controlPrefixID, value)
{
    for (var i=0; i<elems.length; i++)
    {
        var element = elems[i];
        if (element.name && element.name.indexOf(controlPrefixID) != -1)
        {
            element.value = value;
        }
    }
}

function setControlFocused(elems, controlID)
{
    var control = elems[controlID];
    if (control != null)
        control.focus();
}

function getSelectValue(elems, selectControlID)
{
    var selecteControlValue = -1;
    var selectControl = elems[selectControlID];
    if (selectControl != null)
    {
        selecteControlValue = selectControl.options[selectControl.selectedIndex].value;
    }
    return selecteControlValue;
}

        
function getControls(elems, controlPrefixID, maxControlsNo)
{
    var controlsCount = 0;
    var controls = new Array(maxControlsNo);
    
    for (var i=0; i<elems.length; i++)
    {
        var element = elems[i];
        if (element.id.indexOf(controlPrefixID) != -1)
        {
            controls[controlsCount] = element;
            controlsCount += 1;
        }
    }
    return controls;
}

function getFirstControlWithValue(array, value)
{
    for (var i=0; i<array.length; i++)
    {
        if (array[i] && array[i].value == value)
        {
            return array[i];
        }
    }
    return null;
}

function getControlIndex(controls, control)
{
    for (var i=0; i<controls.length; i++)
    {
        if (controls[i] == control)
        {
            return i;
        }
    }
    return -1;
}

function switchControlsValue(firstControl, secondControl)
{
    if (!firstControl.value || !secondControl.value)
        return;
    var tempValue = firstControl.value;
    firstControl.value = secondControl.value;
    secondControl.value = tempValue;
}

function switchControlsDisabledFlag(firstControl, secondControl)
{
    var tempDisabled = firstControl.disabled;
    firstControl.disabled = secondControl.disabled;
    secondControl.disabled = tempDisabled;
}

function switchCheckboxControlsChecked(firstControl, secondControl)
{
    var tempValue = firstControl.checked;
    firstControl.checked = secondControl.checked;
    secondControl.checked = tempValue;
}

function switchCheckboxControlsDisabledFlag(firstControl, secondControl)
{
//    alert(firstControl.disabled);
//    alert(secondControl.disabled);
    var tempDisabled = firstControl.disabled;
//    alert(tempDisabled);
    firstControl.disabled = secondControl.disabled;
    if (firstControl.parentNode)
    {
//        alert(firstControl.parentNode.disabled);
        firstControl.parentNode.disabled = firstControl.disabled;
//        alert(firstControl.parentNode.disabled);
    }
    
    secondControl.disabled = tempDisabled;
    if (secondControl.parentNode)
    {
//        alert(secondControl.parentNode.disabled);
        secondControl.parentNode.disabled = tempDisabled;
//        alert(secondControl.parentNode.disabled);
    }
//    alert(firstControl.disabled);
//    alert(secondControl.disabled);
}

function switchLabelControlsText(firstControl, secondControl)
{
    if (!firstControl.innerHTML || !secondControl.innerHTML)
        return;
    var tempValue = firstControl.innerHTML;
    firstControl.innerHTML = secondControl.innerHTML;
    secondControl.innerHTML = tempValue;
}

function switchHyperlinkControlsReference(firstControl, secondControl)
{
    if (!firstControl.href || !secondControl.href)
        return;
    var tempValue = firstControl.href;
    firstControl.href = secondControl.href;
    secondControl.href = tempValue;
}

function setSelectedText(elems, selectControlID, selectedText)
{
    var selectControl = elems[selectControlID];
    if (selectControl != null)
    {
        var selectOptions = selectControl.options;
        for (var i=0; i<selectOptions.length; i++)
        {   
            if (selectOptions[i].text == selectedText)
            {
                selectOptions[i].selected = true;
                return;
            }
        }
    }
}

//unSelectAllOptions
function setSelectedForAllOptions(elems, selectControlID, selectedValue)
{
    var selectControl = elems[selectControlID];
    if (selectControl != null)
    {
        var selectOptions = selectControl.options;
        for (var i=0; i<selectOptions.length; i++)
        {
            selectOptions[i].selected = selectedValue;
        }
    }
}

function getSelectedOptionValue(elems, selectControlID)
{
    var selectControl = elems[selectControlID];
    if (selectControl != null)
    {
        var selectedIndex = selectControl.selectedIndex;
        if (selectedIndex >= 0)
        {
            return selectControl.options[selectedIndex].value;
        }
    }
    return '';
}

function setSelectedIndex(elems, selectControlID, selectedIndex)
{
    var selectControl = elems[selectControlID];
    if (selectControl != null)
    {
        selectControl.selectedIndex = selectedIndex;
    }
}

function getSetHiddenValues(elems, hiddenControlPrefixID, delimiter)
{
    var checkedValues = '';
    for (var i=0; i<elems.length; i++)
    {
        var element = elems[i];
        if (element.type && element.type == 'hidden' && element.name.indexOf(hiddenControlPrefixID) != -1 && element.value.length > 0)
        {
            checkedValues = checkedValues + element.value + delimiter;
        }
    }
    if (checkedValues.length > 0)
    {
        checkedValues = checkedValues.substr(0, checkedValues.length - 1);
    }
    return checkedValues;
}

function getTextboxValues(elems, textControlPrefixID, delimiter, replaceRegEx, replaceDelimiter)
{
    var enabledValues = '';
    for (var i=0; i<elems.length; i++)
    {
        var element = elems[i];
        if (element.type && element.type == 'text' && element.name.indexOf(textControlPrefixID) != -1)
        {
            enabledValues = enabledValues + element.value.replace(replaceRegEx, replaceDelimiter) + delimiter;
        }
    }
    if (enabledValues.length > 0)
    {
        enabledValues = enabledValues.substr(0, enabledValues.length - 1);
    }
    return enabledValues;
}

function getCheckboxesCheckedFlag(elems, checkboxControlPrefixID, delimiter)
{
    var enabledValues = '';
    for (var i=0; i<elems.length; i++)
    {
        var element = elems[i];
        if (element.type && element.type == 'checkbox' && element.name.indexOf(checkboxControlPrefixID) != -1)
        {
            if (element.checked)
            {
                enabledValues = enabledValues + '1' + delimiter;
            }
            else
            {
                enabledValues = enabledValues + '0' + delimiter;
            }
        }
    }
    if (enabledValues.length > 0)
    {
        enabledValues = enabledValues.substr(0, enabledValues.length - 1);
    }
    return enabledValues;
}

var monthsShortName = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];

function FormatDate_ddMMMyyyy(someDate)
{
    if (someDate)
        return someDate.getDate() + ' ' + monthsShortName[someDate.getMonth()] + ' ' + someDate.getFullYear();
    else
        return '';
}

function FormatDate_dd_MMM_yyyy(someDate)
{
    if (someDate)
        return someDate.getDate() + '-' + monthsShortName[someDate.getMonth()] + '-' + someDate.getFullYear();
    else
        return '';
}

function compareDates(firstDate, secondDate)
{
    if (firstDate.getYear() > secondDate.getYear())
        return 1;
    else
    {
        if (firstDate.getYear() < secondDate.getYear())
            return -1;
        else 
        {
            if (firstDate.getMonth() > secondDate.getMonth())
                return 1;
            else
            {
                if (firstDate.getMonth() < secondDate.getMonth())
                    return -1;
                else
                {
                    if (firstDate.getDay() > secondDate.getDay())
                        return 1;
                    else
                    {
                        if (firstDate.getDay() < secondDate.getDay())
                            return -1;
                        else
                            return 0;
                    }
                }
            }
        }
    }
}

function toggleColumnVisibility(grid, columnindex, reorderButtonControlID)
{
    var elems = document.forms[0].elements;
    var column = grid.Table.Columns[columnindex];
    var currentButtonText = getControlValue(elems, reorderButtonControlID);
    if (column.Visible)
    {
        column.DataCellCssClass = "invisible";
        column.HeadingCellCssClass = "invisible";
        column.Visible=false;
        setControlValue(elems, reorderButtonControlID, 'Reorder');
    }
    else
    {
        column.DataCellCssClass = "";
        column.HeadingCellCssClass = "";
        column.Visible=true;
        setControlValue(elems, reorderButtonControlID, 'Save order');
    }
    grid.Render();
    return true;
}
        
function toggleDivElementsVisibility(reorderDivControlID, reorderButtonControlID)
{
    // Show/hide the controls
    var elems = document.forms[0].elements;
    var divs = document.getElementsByTagName('div');
    for (var i=0; i<divs.length; i++)
    {
        var element = divs[i];
        if (element.id.indexOf(reorderDivControlID) != -1 && !element.disabled)
        {
            if (element.style.display == 'none')
            {
                 element.style.display = 'block';
            }
            else
            {
                element.style.display = 'none';
            }
        }
    }
    // Change the button's caption
    var currentText = getControlValue(elems, reorderButtonControlID);
    if (currentText == 'Reorder')
    {
        setControlValue(elems, reorderButtonControlID, 'Save order');
    }
    else
    {
        setControlValue(elems, reorderButtonControlID, 'Reorder');
    }
    return true;
}

function setLinkURL(links, controlID, value)
{
    var control = links[controlID];
    if (control != null)
    {
        control.href = value;
    }
}

function getLink(links, linkPrefixID)
{
    for (var i=0; i<links.length; i++)
    {
        var link = links[i];
        if (link.id && link.id.indexOf(linkPrefixID) != -1)
        {
            return link;
        }
    }
}

function sumElementsValue(document, elementTagName, elementPrefixID)
{
    var total = 0;
    var elems = document.getElementsByTagName(elementTagName);
    for (var i=0; i<elems.length; i++)
    {
        var element = elems[i];
        if (element.id.indexOf(elementPrefixID) != -1)
        {
            var stringValue = getElementValue(document, element.id);
            // Remove the $ sign
            if (stringValue.indexOf('$') == 0)
            {
                stringValue = stringValue.substr(1);
            }
            var numericStringValue = stringValue.replace(/,/i,'');
            total += new Number(numericStringValue);
        }
    }
    return total;
}

//// This function sets the height of an iframe
//function setIFrameMinHeight(iFrameID, minHeight)
//{
//	i = parent.document.getElementById(iFrameID);
//	i.style.height = minHeight + "px";
//}

var iframe_ctl00_PublisherMainContentPlaceHolder_mainContent_minHeight = '600px';

// This function will set the height of a frame element in order to have 
// all content displayed. The pageHeight is specific on page content
function setParentContainerHeight_MainContent(pageHeight)
{
    if (parent && parent.frames['mainContent'])
    {
        var frameObj = parent.frames['mainContent'].frameElement;
        if (pageHeight)
        {
            frameObj.style.height = pageHeight + 'px';
        }
        else
        {
            // Set a customizable minHeight
            frameObj.style.height = iframe_ctl00_PublisherMainContentPlaceHolder_mainContent_minHeight;
        }
    }
}

var iframe_multiPageContent_minHeight = '600px';

function setParentContainerHeight_MainContent_MultiPageContent(pageHeight)
{
    if (parent && parent.frames['multiPageContent'])
    {
        var frameObj = parent.frames['multiPageContent'].frameElement;
        if (pageHeight)
        {
            frameObj.style.height = pageHeight + 'px';
        }
        else
        {
            // Set a customizable minHeight
            frameObj.style.height = iframe_multiPageContent_minHeight;
        }
    }    
    
    if (parent && parent.parent && parent.parent.frames['mainContent'])
    {
        var secondFrameObj = parent.parent.frames['mainContent'].frameElement;
        if (pageHeight)
        {
            secondFrameObj.style.height = pageHeight + 'px';
        }
        else
        {
            // Set a customizable minHeight
            secondFrameObj.style.height = iframe_ctl00_PublisherMainContentPlaceHolder_mainContent_minHeight;
        }
    }
}

//
function gotoLoginPage()
{
	//document.getElementById('mainContent').src="About.aspx";
	frames['mainContent'].location.href="About.aspx";
}

//
function clearMenuSelection(sender, e)
{    						
	clearNavBarSelection(NavBarCatalog);	
	clearNavBarSelection(NavBarAccount);
	clearNavBarSelection(NavBarSales);
		
}

function clearAdminMenuSelection(sender, e)
{    	
	clearNavBarSelection(NavBarAdmin);							
}

//
function clearNavBarSelection(navbar)
{
	if ( navbar && navbar.SelectedItem)
	{
		deselectNavBarItem(navbar.SelectedItem);

		navbar.SelectedItem = null;
	}
}

//
function deselectNavBarItem(item)
{
	if (item)
	{
		var itemElement = document.getElementById(item.ParentNavBar.NavBarID + "_item_" + item.StorageIndex);
		
		if(item.Expanded && item.ChildItemArray.length > 0)
		{
			itemElement.cssClassOverride = item.ExpandedCssClass;
		}
		else
		{
			itemElement.cssClassOverride = null;
		}

		itemElement.cssClassHoverOverride = null;

		var _cc = item.GetEffectiveCssClass(false, false);
		var _cd = item.ImageUrl ? ComponentArt_ConvertUrl(item.ParentNavBar.ImagesBaseUrl, item.ImageUrl, item.ParentNavBar.ApplicationPath) : null;
		var _ce = item.LeftIconUrl ? ComponentArt_ConvertUrl(item.ParentNavBar.ImagesBaseUrl, item.LeftIconUrl, item.ParentNavBar.ApplicationPath) : null;
		var _cf = item.RightIconUrl ? ComponentArt_ConvertUrl(item.ParentNavBar.ImagesBaseUrl, item.RightIconUrl, item.ParentNavBar.ApplicationPath) : null;

		ComponentArt_NavBar_ChangeLook(itemElement, _cc, _cd, _ce, _cf);
	}
}

        function SelectNavBarItem(_NavBar, _itemID)
	    {
	        var item=_NavBar.findItemById(_itemID);
	        var itemElement = document.getElementById(item.ParentNavBar.NavBarID + "_item_" + item.StorageIndex);
	        itemElement.cssClassOverride = _NavBar.ItemLooks[_NavBar.DefaultSelectedItemLookId].CssClass;
	        itemElement.cssClassHoverOverride = _NavBar.ItemLooks[_NavBar.DefaultSelectedItemLookId].HoverCssClass;
	                            	
		    var _cc = item.GetEffectiveCssClass(false, false);
		    var _cd = item.ImageUrl ? ComponentArt_ConvertUrl(item.ParentNavBar.ImagesBaseUrl, item.ImageUrl, item.ParentNavBar.ApplicationPath) : null;
		    var _ce = item.LeftIconUrl ? ComponentArt_ConvertUrl(item.ParentNavBar.ImagesBaseUrl, item.LeftIconUrl, item.ParentNavBar.ApplicationPath) : null;
		    var _cf = item.RightIconUrl ? ComponentArt_ConvertUrl(item.ParentNavBar.ImagesBaseUrl, item.RightIconUrl, item.ParentNavBar.ApplicationPath) : null;
                        
		    ComponentArt_NavBar_ChangeLook(itemElement, _cc, _cd, _ce, _cf);
		    _NavBar.SelectedItem=item;
	    }
/*
function selectNavBarItem(item)
{
	if (item)
	{
		var itemElement = document.getElementById(item.ParentNavBar.NavBarID + "_item_" + item.StorageIndex);
		itemElement.cssClassOverride = null;
		
		itemElement.cssClassHoverOverride = item.CssClass

		var _cc = item.GetEffectiveCssClass(false, false);
		var _cd = item.ImageUrl ? ComponentArt_ConvertUrl(item.ParentNavBar.ImagesBaseUrl, item.ImageUrl, item.ParentNavBar.ApplicationPath) : null;
		var _ce = item.LeftIconUrl ? ComponentArt_ConvertUrl(item.ParentNavBar.ImagesBaseUrl, item.LeftIconUrl, item.ParentNavBar.ApplicationPath) : null;
		var _cf = item.RightIconUrl ? ComponentArt_ConvertUrl(item.ParentNavBar.ImagesBaseUrl, item.RightIconUrl, item.ParentNavBar.ApplicationPath) : null;

		ComponentArt_NavBar_ChangeLook(itemElement, _cc, _cd, _ce, _cf);
	}
}

*/