function invalidDocTemlateNameMsg() {
    return "Duplicate or Invalid Template Name";
}


function jsErrorDlg(msgTxt) {
    alert(msgTxt)
}

function selectUser(divName, iframeName, targetField) {
    divObj = document.getElementById(divName);
    if (divObj.style.display != "block")
        divObj.style.display = 'block';
    else
        divObj.style.display = "none";
}

function selectDate(divName, iframeName, targetField) {

    divObj = document.getElementById(divName);
    ifObj = document.getElementById(iframeName);

    if (divObj) {
        if (divObj.style.display != "block") {
            divObj.style.display = 'block';
            url = "popupListCalendar.aspx?run&selectDate=y&divName=" + divName + "&iframeName=" + iframeName + "&targetField=" + targetField;
            setIFrameUrl(ifObj, url);
        }
        else {
            divObj.style.display = "none";
        }

    }
    else {
        alert("No " + divName)
    }
}

function setIFrameUrl(ifObj, url) {
    ifObj.src = url;
    ifObj.location = url;
}

function selectKeyword(divName, iframeName, targetField, ListId) {
    divObj = document.getElementById(divName);
    ifObj = document.getElementById(iframeName);

    if (divObj) {
        if (divObj.style.display != "block") {
            divObj.style.display = 'block';
            url = "popupListSelectKeyword.aspx?run&selectKeyword=y&parentDiv=" + divName + "&iframeName=" + iframeName + "&targetField=" + targetField + "&TemplateId=" + ListId;
            setIFrameUrl(ifObj, url);
        }
        else {
            divObj.style.display = "none";
        }

    }
    else {
        alert("No " + divName)
    }
}



function selectKeywordMulti(divName, iframeName, targetField, ListId) {
    // alert("multi select");
    divObj = document.getElementById(divName);
    ifObj = document.getElementById(iframeName);

    if (divObj) {
        if (divObj.style.display != "block") {
            divObj.style.display = 'block';
            //url = "listviewgen.phtml?run&selectKeyword=multi&divName=" + divName +"&iframeName=" + iframeName + "&targetField=" + targetField + "&DocTemplateId=" + ListId; 
            url = "popupListSelectKeyword.aspx?run&selectKeyword=multi&parentDiv=" + divName + "&iframeName=" + iframeName + "&targetField=" + targetField + "&TemplateId=" + ListId;
            setIFrameUrl(ifObj, url);
        }
        else {
            divObj.style.display = "none";
        }
    }
    else {
        alert("No " + divName)
    }
}

function selectMap(targetField) {
    fieldObj = getUserFieldJS(targetField);
    if (fieldObj) {
        addressEnc = escape(fieldObj.value);
        url = 'http://maps.google.com/maps?f=q&hl=en&q=' + addressEnc + '&ie=UTF8&z=14&om=1&iwloc=A';
        window.open(url);
    }
}

function showSavingMsg() {
    docViewObj = document.getElementById("DocView");
    savingMsgObj = document.getElementById("SavingDiv");
    if ((docViewObj) && (savingMsgObj)) {
        docViewObj.style.visibility = 'hidden';
        savingMsgObj.style.visibility = 'visible';
    }
}

function showDeletingMsg() {
    docViewObj = document.getElementById("DocView");
    savingMsgObj = document.getElementById("deletingDiv");
    if ((docViewObj) && (savingMsgObj)) {
        docViewObj.style.visibility = 'hidden';
        savingMsgObj.style.visibility = 'visible';
    }
}

function trimStr(srcStr) {
    workStr = trim(srcStr);

    return workStr;
}

function trim(stringToTrim) {
    return stringToTrim.replace(/^\s+|\s+$/g, "");
}
function ltrim(stringToTrim) {
    return stringToTrim.replace(/^\s+/, "");
}
function rtrim(stringToTrim) {
    return stringToTrim.replace(/\s+$/, "");
}
function isMember(srcArr, itemStr) {
    var rflag = false;
    var i = 0;

    for (i = 0; i < srcArr.length; i++) {
        if (srcArr[i] == itemStr) {
            rflag = true;
            i = srcArr.length + 1;
        }
    }

}

function isMemberIns(srcArr, itemStr) {
    var rflag = false;
    var i = 0;

    for (i = 0; i < srcArr.length; i++) {
        if (srcArr[i].toUpperCase() == itemStr.toUpperCase()) {
            rflag = true;
            i = srcArr.length + 1;
        }
    }
    return rflag;
}

function getURLParam(strHref, strParamName) {
    var strReturn = "";

    if (strHref.indexOf("?") > -1) {
        var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
        var aQueryString = strQueryString.split("&");
        for (var iParam = 0; iParam < aQueryString.length; iParam++) {
            if (aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1) {
                var aParam = aQueryString[iParam].split("=");
                strReturn = aParam[1];
                break;
            }
        }
    }
    return unescape(strReturn);
}

function replaceSubStr_JS(srcStr, fromStr, toStr) {
    workStr = new String(srcStr);
    xArr = workStr.split(fromStr);
    returnStr = xArr[0]
    for (i = 1; i < xArr.length; i++) {
        returnStr = returnStr + toStr + xArr[i];
    }
    return returnStr;
}
function newLineChrs() {
    return '\n';
}

function setTabOff(xDoc, TabCode) {
    setTabSwitch(xDoc, TabCode, "");
}

function setTabOn(xDoc, TabCode) {
    setTabSwitch(xDoc, TabCode, "S");
}

function setTabSwitch(xDoc, TabCode, switchFlag) {

    tabBitTL = xDoc.getElementById("tabBit" + TabCode + "TL");
    if (tabBitTL) tabBitTL.src = 'newimg/tabTL' + switchFlag + '.gif';

    tabBitTObj = xDoc.getElementById("tabBit" + TabCode + "T");
    if (tabBitTObj) tabBitTObj.style.backgroundImage = 'url(newimg/tabT' + switchFlag + '.gif)';

    tabBitTR = xDoc.getElementById("tabBit" + TabCode + "TR");
    if (tabBitTR) tabBitTR.src = 'newimg/tabTR' + switchFlag + '.gif';


    tabBitBLObj = xDoc.getElementById("tabBit" + TabCode + "BL");
    if (tabBitBLObj) tabBitBLObj.style.backgroundImage = 'url(newimg/tabBL' + switchFlag + '.gif)';

    tabBitTMObj = xDoc.getElementById("tabBit" + TabCode + "TM");
    if (tabBitTMObj) tabBitTMObj.style.backgroundImage = 'url(newimg/tabM' + switchFlag + '.gif)';

    tabBitBRObj = xDoc.getElementById("tabBit" + TabCode + "BR");
    if (tabBitBRObj) tabBitBRObj.style.backgroundImage = 'url(newimg/tabBR' + switchFlag + '.gif)';

}


function setTabOffRed(xDoc, TabCode) {
    setTabSwitchRed(xDoc, TabCode, "");
}


function setTabOnRed(xDoc, TabCode) {
    setTabSwitchRed(xDoc, TabCode, "Select");
}

function setTabSwitchRed(xDoc, TabCode, switchFlag) {
    tabBitObj = xDoc.getElementById("tabBit" + TabCode);
    if (tabBitObj) tabBitObj.className = 'redTab' + switchFlag;

}


function getAllElementsForClassName(classNameStr) {
    var returnArr = new Array();
    allElements = document.getElementsByTagName("*");
    count = -1;

    for (i = 0; i < allElements.length; i++) {
        if (allElements[i].className.indexOf(classNameStr) != -1) {
            count = count + 1
            returnArr[count] = allElements[i];
        }
    }
    return returnArr;
}


function setXNavTab(xNavOption, xTabArr, xTabURLArr) {
    for (i = 0; i < xTabArr.length; i++) {
        divObj = document.getElementById(xTabArr[i] + 'Div');
        if (divObj) {
            divObj.style.display = 'none';
        }
        setTabOffRed(document, xTabArr[i])

    }
    setTabOnRed(document, xNavOption);
    divObj = document.getElementById(xNavOption + 'Div');
    if (divObj) {
        divObj.style.display = 'block';
    }

}


function selectRating(FieldName, ratingValue) {

    for (i = 1; i <= 20; i++) {
        starObj = document.getElementById(FieldName + '_' + i);
        if (starObj) {
            imgFile = 'starOff.gif';
            if (i <= ratingValue) {
                imgFile = 'starOn.gif';
            }
            starObj.src = 'aearImg/' + imgFile;
        }
    }
    fObj = getUserFieldJS(FieldName);
    if (fObj) {
        fObj.value = ratingValue;
    }
}

function launchHelp(HelpCodeJS) {
    url = 'helpview.phtml?open&helpCode=' + HelpCodeJS;
    window.open(url);
}

var currencyErrorTxt = " has invalid characters as it needs to be a number value";
var numberErrorTxt = " has invalid characters as it needs to be a number value";
var minValueErrorTxt = " must be equal or greater than ";
var maxValueErrorTxt = " must be equal or lesser than ";
var requiredFieldErrorTxt = " is a required field";
var minLengthErrorTxt = " must have a length equal or greater than ";
var maxLengthErrorTxt = " must have a length equal or lesser than ";

function getLabel(fieldObj) {
    label = fieldObj.labelTxt;
    if (!(label)) {
        label = fieldObj.getAttribute("labelTxt");
    }
    return label;
}

function validateFields(RequiredFieldIds, FieldMinMaxValues, FieldMinMaxLength) {
    msgTxt = "";
    currencyElements = getAllElementsForClassName("currencyfield");
    for (i = 0; i < currencyElements.length; i++) {
        testValue = currencyElements[i].value;
        if (hasNonNumberics(testValue)) {
            label = getLabel(currencyElements[i]);
            msgTxt = label + currencyErrorTxt + "\n" + msgTxt;
        }
    }

    numberElements = getAllElementsForClassName("numberfield");
    for (i = 0; i < numberElements.length; i++) {
        testValue = numberElements[i].value;
        if (hasNonNumberics(testValue)) {
            //  msgTxt = numberElements[i].labelTxt + numberErrorTxt + "\n" + msgTxt ;  
            label = getLabel(numberElements[i]);
            msgTxt = label + numberErrorTxt + "\n" + msgTxt;
        }
    }


    if (FieldMinMaxValues != null) {

        for (i = 0; i < FieldMinMaxValues.length; i++) {
            fieldId = 'USERFIELD_' + FieldMinMaxValues[i].fieldName;

            fObj = document.getElementById(RequiredFieldIds[i])
            if (!(fObj)) {
                fieldId = 'USERFIELD_' + RequiredFieldIds[i];
                fObj = document.getElementById(fieldId);
            }
            if (fObj) {
                label = getLabel(fObj);
                numVal = 0;
                if (trimStr(fObj.value) != "") {
                    numVal = parseFloat(fObj.value);
                }

                if (numVal < FieldMinMaxValues[i].minValue) {
                    //msgTxt = label + minValueErrorTxt + FieldMinMaxValues[i].minValue + "\n" + msgTxt;
					msgTxt = msgTxt + label + minLengthErrorTxt + FieldMinMaxLength[i].minValue  + "<br/>";
                }
                if (numVal > FieldMinMaxValues[i].maxValue) {
                    //msgTxt = label + maxValueErrorTxt + FieldMinMaxValues[i].maxValue + "\n" + msgTxt;
					msgTxt = msgTxt + label + maxLengthErrorTxt + FieldMinMaxLength[i].maxValue  + "<br/>";
                }

            }
        }
    }



    if (FieldMinMaxLength != null) {

        for (i = 0; i < FieldMinMaxLength.length; i++) {
            
            fObj = document.getElementById(RequiredFieldIds[i])
            if (!(fObj)) {
                fieldId = 'USERFIELD_' + RequiredFieldIds[i];
                fObj = document.getElementById(fieldId);
            }
 
            
            if (fObj) {
                label = getLabel(fObj);
                itemValue = trimStr(fObj.value);

                numVal = itemValue.length;

                if (numVal < FieldMinMaxLength[i].minValue) {
                    msgTxt = label + minLengthErrorTxt + FieldMinMaxLength[i].minValue + "\n" + msgTxt;
					msgTxt = msgTxt + label + minLengthErrorTxt + FieldMinMaxLength[i].minValue  + "<br/>";
                }
                if (numVal > FieldMinMaxLength[i].maxValue) {
                    //msgTxt = label + maxLengthErrorTxt + FieldMinMaxLength[i].maxValue + "\n" + msgTxt;
					msgTxt = msgTxt + label + maxLengthErrorTxt + FieldMinMaxLength[i].maxValue  + "<br/>";
                }

            }
        }
    }

    if (RequiredFieldIds != null) {
	
        for (i = 0; i < RequiredFieldIds.length; i++) {
			idS = RequiredFieldIds[i];
	
            fObj = document.getElementById(RequiredFieldIds[i])
            if (!(fObj)) {
                fieldId = 'USERFIELD_' + RequiredFieldIds[i];
                fObj = document.getElementById(fieldId);
            }
            if (fObj) {
                numVal = 0;
				
                if (trimStr(fObj.value) == "") {
				    fLabel = fObj.getAttribute("labelTxt");
                    msgTxt = msgTxt + fLabel + requiredFieldErrorTxt + "<br/>";
                }
            }
			else
			{
			}
        }
    }
    return msgTxt;
}


function hasNonNumberics(srcStr) {
    numberChars = "0123456789.-";

    for (cIdx = 0; cIdx < srcStr.length; cIdx++) {
        xChar = srcStr.charAt(cIdx);
        if (numberChars.indexOf(xChar) == -1) {
            return true;
        }
    }
    return false;
}


function NewMinMaxValidation(jsFieldMin, jsFieldMax, jsFieldName) {
    var nObj = new NumbericFieldValidationRule();
    nObj.fieldName = jsFieldName;
    nObj.minValue = jsFieldMin;
    nObj.maxValue = jsFieldMax;
    return nObj;
}

function NewFieldTemplateDef(jsDocTemplateId, jsTemplateName, jsfieldName, jsfieldLabel, jsfieldType) {
    var nObj = new FieldTemplateDef();
    nObj.DocTemplateId = jsDocTemplateId;
    nObj.TemplateName = jsTemplateName;

    nObj.fieldName = jsfieldName;
    nObj.fieldLabel = jsfieldName;
    nObj.fieldType = jsfieldType;
}

function newTemplateDef(jsDocTemplateId, jsTemplateName) {
    var nObj = new TemplateDef();
    nObj.DocTemplateId = jsDocTemplateId;
    nObj.TemplateName = jsTemplateName;

}
//Classes
function NumbericFieldValidationRule() {
    this.fieldName = "";
    this.fieldLabel = "";
    this.minValue = -999;
    this.maxValue = -999;
};

function FieldTemplateDef() {
    this.DocTemplateId = "";
    this.TemplateName = "";

    this.fieldName = "";
    this.fieldLabel = "";
    this.fieldType = "";

};

function TemplateDef() {
    this.DocTemplateId = "";
    this.TemplateName = "";
};




function calcIframeHeight(iFrameIDJS) {
    var xval = 300;
    var ifObj = document.getElementById(iFrameIDJS);
    if (ifObj) {
        if (ifObj.document) {
            if (ifObj.document.body) {
                if (ifObj.document.body.scrollHeight) {
                    xval = ifObj.document.body.scrollHeight;
                }
            }
        }
    }
    return xval;
}



function calcIframeWidth(iFrameIDJS) {
    var xval = 300;
    var ifObj = document.getElementById(iFrameIDJS);
    if (ifObj) {
        if (ifObj.document) {
            if (ifObj.document.body) {
                if (ifObj.document.body.scrollWidth) {
                    xval = ifObj.document.body.scrollWidth;
                }
            }
        }
    }
    return xval;
}

function setDashBoardPart(iframeIdJS, urlJS, ifHeightJS, ifWidthJS) {
    var ifObj = document.getElementById(iframeIdJS);
    if (ifObj) {
        xurlJS = urlJS;
        if (xurlJS.indexOf("?") == -1)
            xurlJS = xurlJS + "?open";
        newUrlJS = xurlJS + "&partHeight=" + ifHeightJS + "&partWidth=" + ifWidthJS;
        ifObj.src = newUrlJS;
    }
}

function leftOfStr(srcStr, needleStr) {
    workStr = srcStr;
    sLoc = workStr.indexOf(needleStr);
    return workStr.substring(0, sLoc);
}


function openTaskJS(TaskIdJS) {
    url = 'editBPMTask.phtml?run&hideExit=Y&FromScreen=DIALOG&TaskId=' + TaskIdJS;
    //TaskWindow = window.open(url,"Task","height=400,width=600,status=yes,toolbar=no,menubar=no,location=no");
    TaskWindow = window.open(url, "Task")
    TaskWindow.focus();
}
function calcTaskUrl(TaskIdJS) {
    url = 'editBPMTask.phtml?run&hideExit=Y&hideDiagram=Y&FromScreen=DIALOG&TaskId=' + TaskIdJS;
    return url;
}
function openGWindow(Url, Title) {
    gwin = new GWindow(null, Title);
    gwin.setSize(400, 600);

    //gwin.move(10,10);
    gwin.setDockable(false);
    Url = Url.replace("&", "&amp;");  //"docsplash.phtml?run&amp;id=5";
    code = "<iframe id='dashboardFS' style='height:100%;width:100%;' src='" + Url + "'  frameborder='0' scrolling='off'> </iframe>";
    gwin.getBodyElement().innerHTML = code;
}

function openGWindowLarge(Url, Title) {
    gwin = new GWindow(null, Title);
    gwin.setSize(600, 600);
    gwin.setClosable(true);
    //gwin.move(10,10);
    gwin.setDockable(false);
    Url = Url.replace("&", "&amp;");  //"docsplash.phtml?run&amp;id=5";
    code = "<iframe id='dashboardFS' style='height:100%;width:100%;' src='" + Url + "'  frameborder='0' scrolling='off'> </iframe>";
    gwin.getBodyElement().innerHTML = code;
}

function getUserFieldJS(fieldNameJS) {
    fieldObj = document.getElementById(fieldNameJS);
    if (!(fieldObj)) {
        fieldObj = document.getElementById("USERFIELD_" + fieldNameJS);
    }
    return fieldObj;

}
function convertCurrencyOpen(dollorsFieldJS) {
    fObj = getUserFieldJS(dollorsFieldJS);
    if (fObj) {
        dollorsJS = fObj.value;
        if (dollorsJS != "") {
            url = "http://www.google.com/search?q=" + dollorsJS + "+USD+in+CAD&btnG=Google+Search"
            currencyWindow = window.open(url, "Curency", "status=yes,toolbar=no,menubar=no,location=no");
            currencyWindow.focus();
        }
    }

}



function addTaskChangeNoProcess() {
    fObj = document.getElementById('taskWizardNoSelect');
    addTaskChangeNoJS = fObj.options[fObj.selectedIndex].value;
    addTaskChangeNoInt = parseInt(addTaskChangeNoJS);

    for (i = 1; i <= 10; i++) {
        trObj = document.getElementById('addTasWizItem' + i);
        if (trObj) {
            trObj.style.display = 'none';
        }
    }

    for (i = 1; i <= addTaskChangeNoInt; i++) {
        trObj = document.getElementById('addTasWizItem' + i);
        if (trObj) {
            trObj.style.display = 'block';
        }
    }

}

function deleteSelectedItems(itemTypeJS, otherParams) {
    selectFlagCheckboxStr = getFieldValue('selectFlagCheckbox');
    url = 'deleteItem.phtml?run&Id=' + selectFlagCheckboxStr + '&itemType=' + itemTypeJS + otherParams;
    window.location = url;
}

function sendAjaxMsg(XmlUrl) {
    //window.open(XmlUrl);
    requestDatSend(XmlUrl);
}

function chooseTask(taskIdJS) {
    idJS = "" + taskIdJS;

}

function resizeDashboardParts() {
    //setTimeout("resizeDashboardPartsProcess()",20000)

}
function resizeDashboardPartsProcess() {
    // alert("resizeDashboardParts-5");
    for (i = 0; i < 10; i++) {
        idStr = "dashboardPartIframe_" + i;

        iframeObj = document.getElementById(idStr);
        if (iframeObj) {
            scrollHeightX = iframeObj.scrollHeight;
            // alert("scrollHeight=" + scrollHeightX);
            //iframeObj.height = document.frames[iframeObj.id].document.body.scrollHeight;
            iframeObj.document.body.scrollHeight;
            //scrollHeightX = iframeObj.document.scrollHeight;
            //alert("DocScrollHeight=" + scrollHeightX);

        }
    }

}


function showHidDivJS(divName) {
    divObj = document.getElementById(divName);
    if (divObj) {
        if (divObj.style.display != "block") {
            divObj.style.display = 'block';
        }
        else {
            divObj.style.display = "none";
        }

    }
    else {
        alert("No " + divName)
    }
}

function checkRichText() {
    
    formObj = document.forms[0];
    msgTxt = "";
    for (i = 0; i < formObj.elements.length; i++) {
        //document.write("The field name is: " + document.FormName.elements[i].name + " and it’s value is: " + document.FormName.elements[i].value + ".<br />");

        if (formObj.elements[i].id.indexOf("hugeHtmlEditor") > -1 || formObj.elements[i].id.indexOf("innerRTEditor") > -1) {
            WYSIWYG.updateTextArea(formObj.elements[i].id);

        }

    }
    
    return true;

}

function calcShipping()
{
	totalWeightJS = getTotalWeight();
	totalPriceJS = getTotalPrice();
	fObj = getUserFieldJS('Shipping_Option');
	Shipping_OptionValue = fObj.value;
	xTempArr =  Shipping_OptionValue.split("|");
    Shipping_OptionValue = xTempArr[1];
	Shipping_OptionValueArr = Shipping_OptionValue.split("~");
	shipType = Shipping_OptionValueArr[0];
	shipCost = Shipping_OptionValueArr[1];
	shipWeight = Shipping_OptionValueArr[2];
	totalShippingCost = 0 ;
	
	if (shipType=="Flat")
	{
		totalShippingCost = parseFloat( shipCost);
	}
	if (shipType=="Pre Paid Size")
	{
		prePaidUnits = Math.ceil(totalWeightJS / shipWeight);
		totalShippingCost = parseFloat( shipCost)  * prePaidUnits ;
	}
	if (shipType=="Per Kg Cost")
	{
		totalShippingCost = parseFloat( shipCost)  * totalWeightJS ;
	}
	
	shipFieldObj = getUserFieldJS("Total_Shipping_Cost");
	shipFieldObj.value = totalShippingCost;
	
	shippingTotalFBObj = document.getElementById("shippingTotalFB");
	shippingTotalFBObj.innerHTML = totalShippingCost;
    grandTotalFBObj = document.getElementById("grandTotalFB");
    grandTotalFBObj.innerHTML = totalPriceJS + totalShippingCost;
	
}

var i;
scrollIdx = 1
scrollDivId='';

function xxxautoscrolling(divId) 
{
	scrollDivId=divId;
	d = document.getElementById(scrollDivId)
	d.scrollLeft = d.scrollLeft - scrollIdx;
	//diff = (d.scrollWidth - d.offsetWidth)
	//if(d.scrollLeft == diff) 
	//{
	//	d.scrollLeft = 0
	//	scrollIdx = 1
	//}
	//scrollIdx = scrollIdx + 1
//alert('autoscrolling');	
//alert("autoscrolling(" + divId);
	window.setTimeout("autoscrolling('" + divId + "')", 130);
}
 function fixImgs(whichId, maxH) 
 {
	  var pix=document.getElementById(whichId).getElementsByTagName('img');
	  for (i=0; i<pix.length; i++) 
	  {
		    w=pix[i].width;
		    h=pix[i].height;
		    if (h > maxH) 
			{
		      f=1-((h - maxH) / h);
		      pix[i].width=w * f;
		      pix[i].height=h * f;
		    }
	  }
}


function startBanner(divId, whichId, maxH )
{
fixImgs(whichId, maxH);
autoscrolling(divId );
}
