/****************************************** * Common Scripts for WEB - WEBCommon.js * for iEnterprises, Inc - iExtensions CRM * by Shaji S http://shaji.go.to * Last update: Feb 20, 2003. ******************************************/ //===========================open a new window function Open_WINDOW(URL,Name,H,W,SCROLL) { WS = screen.width / 2; WH = screen.height / 2; H-=20; var WIN; if (SCROLL != "No") WIN = window.open(URL,Name,"height=" + H + ",width=" + W + ",scrollbars,resizable,status"); else WIN = window.open(URL,Name,"height=" + H + ",width=" + W + ", status"); var LEFT, RIGHT; LEFT = (WS - W/2) - 5; TOP = (WH - H/2) - 38; WIN.moveTo(LEFT,TOP); WIN.focus(); return WIN; } //===========================open a new window with url from another server function Open_WINDOW_Server2(URL,Name,H,W,SCROLL) { WS = screen.width / 2; WH = screen.height / 2; H-=20; var WIN; if (SCROLL != "No") WIN = window.open("",Name,"height=" + H + ",width=" + W + ",scrollbars,resizable,status"); else WIN = window.open("",Name,"height=" + H + ",width=" + W + ", status"); var LEFT, RIGHT; LEFT = (WS - W/2) - 5; TOP = (WH - H/2) - 38; WIN.moveTo(LEFT,TOP); WIN.location.href = URL; WIN.focus(); return WIN; } //===========================open a modal window function Open_MODAL_WINDOW(URL,Name,H,W,SCROLL) { WS = screen.width / 2; WH = screen.height / 2; H-=20; var RET; var LEFT, RIGHT; LEFT = (WS - W/2) - 5; TOP = (WH - H/2) - 38; if (SCROLL != "No") RET=showModalDialog(URL,"","dialogHeight:"+H+"px; dialogWidth:"+W+"px; dialogTop:"+TOP+"px; dialogLeft:"+LEFT+"px;help:No;resizable:Yes;scroll:Yes;status:Yes;"); else RET=showModalDialog(URL,"","dialogHeight:"+H+"px; dialogWidth:"+W+"px; dialogTop:"+TOP+"px; dialogLeft:"+LEFT+"px;help:No;resizable:No;scroll:No;status:Yes;"); return RET; } //=========================== open iExtensions Help function IENHelp(hDb , hForm , hTopic , hCategory , hType) { var QueryString; QueryString = ""; if (typeof(hDb) != "undefined") QueryString = QueryString + "&Db=" + hDb; if (typeof(hForm) != "undefined") QueryString = QueryString + "&Form=" + hForm; if (typeof(hTopic) != "undefined") QueryString = QueryString + "&Topic=" + hTopic; if (typeof(hCategory) != "undefined") QueryString = QueryString + "&Cayegory=" + hCategory; if (typeof(hType) != "undefined") QueryString = QueryString + "&Type=" + hType; URL="/iextensions/IENAddresses.nsf/WEB+IEN+Help?Open" + QueryString; Open_WINDOW(URL,"popHelp",540,796); } //=========================== open address (multiple contacts) selection widow function Add_Contacts(arg , TYPE , argREFRESH) { var qsTYPE = ""; if (typeof(TYPE) != "undefined" && TYPE != "") qsTYPE = "&TYPE=" + TYPE; URL="/iextensions/IENAddresses.nsf/WEB+Add+Contacts?Open&login" + qsTYPE + "&FIELD=" + arg; if (argREFRESH == "REFRESH") URL = URL + "&REFRESH=1"; Open_WINDOW(URL,"popContacts",440,650,"No"); } //=========================== open address (single contact) selection widow function Add_Contact(arg,TYPE,argREFRESH) { var qsTYPE = ""; if (typeof(TYPE) != "undefined" && TYPE != "") qsTYPE = "&TYPE=" + TYPE; URL="/iextensions/IENAddresses.nsf/WEB+Add+Contact?Open&login" + qsTYPE + "&FIELD=" + arg; if (argREFRESH == "REFRESH") URL = URL + "&REFRESH=1"; Open_WINDOW(URL,"popContact",440,400,"No"); } //===========================open email selection widow function IENAddress(TYPE,argREFRESH) { var qsTYPE = ""; if (typeof(TYPE) != "undefined" && TYPE != "") qsTYPE = "&TYPE=" + TYPE; URL="/iextensions/IENAddresses.nsf/WEBIENAddress?Open&login" + qsTYPE ; if (argREFRESH == "REFRESH") URL = URL + "&REFRESH=1"; Open_WINDOW(URL,"popAddress",440,650,"No"); } //===========================open country selection windows function Select_Country(FieldName,TITLE) { CurrentValue = eval("document.forms[0]." + FieldName).value; URL="/iextensions/IENAddresses.nsf/WEBSCountry?Open"; URL= URL + "&FIELD="+FieldName+"&VALUE="+CurrentValue + "&TITLE=" + TITLE; Open_WINDOW(URL,"popSelect",300,300,"No"); } //===========================open doc selection windows function Select(sFORM,qsOTHER) { if (typeof(qsOTHER) == "undefined") qsOTHER = ""; URL="/iextensions/IENAddresses.nsf/" + sFORM + "?Open&login" + "&" + qsOTHER; Open_WINDOW(URL,"popSelect",350,630,"No"); } //===========================select a field from a view - returns the value of that field function Select_DocField(ViewName , DocFieldName , OtherDb , qsOTHER , qspText , qswTitle) { URL="/iextensions/IENAddresses.nsf/WEBSField?Open"; var qsFIELDNAME; var qsDB; var qspText; var qswTitle; qsFIELDNAME = DocFieldName; qsDB = OtherDb; if (typeof(qsOTHER) == "undefined") qsOTHER = ""; if (typeof(qspText) == "undefined") qspText = ""; if (typeof(qswTitle) == "undefined") qswTitle = ""; URL=URL+"&VIEW=" + ViewName + "&Db=" + qsDB + "&FIELD=" + qsFIELDNAME + "&" + qsOTHER; URL=URL+"&pText=" + qspText + "&wTitle=" + qswTitle; var FValue = ""; FValue = Open_MODAL_WINDOW(URL,"",380,630); if (typeof(FValue) == "undefined") return ""; //no values return FValue; } //===========================select a field from a view - returns the value of that field function Select_DocField_Multi(ViewName , DocFieldName , FormFieldName , OtherDb , qsOTHER , qspText , qswTitle) { URL="/iextensions/IENAddresses.nsf/WEBSFieldMulti?Open"; var qsFIELDNAME; var qsFORMFIELDNAME; var qsDB; var qspText; var qswTitle; qsFIELDNAME = DocFieldName; qsFORMFIELDNAME = FormFieldName; qsDB = OtherDb; if (typeof(qsOTHER) == "undefined") qsOTHER = ""; if (typeof(qspText) == "undefined") qspText = ""; if (typeof(qswTitle) == "undefined") qswTitle = ""; URL=URL+"&VIEW=" + ViewName + "&Db=" + qsDB; URL=URL+"&FIELD=" + qsFIELDNAME + "&FORMFIELD=" + qsFORMFIELDNAME; URL=URL+"&" + qsOTHER; URL=URL+"&pText=" + qspText + "&wTitle=" + qswTitle; var win = Open_WINDOW(URL,"",450,830); } //===========================History Comments FUNCTION function GetHistoryComments() { URL="/iextensions/IENAddresses.nsf/(IENHistoryCommentsWEB)?Openform&Login"; var Comments=Open_MODAL_WINDOW(URL,"",250,550,"No"); if (typeof(Comments)=="undefined") return ""; else return Comments; } //===========================Select Currency FUNCTION function GetIENCurrency() { URL="/iextensions/IENAddresses.nsf/(dlgIENCurrencyWEB)?Openform&Login"; var Currency=Open_MODAL_WINDOW(URL,"",150,300,"No"); if (typeof(Currency)=="undefined") return ""; else return Currency; } //=========================== default click action for selection windows function OK_Click() { if (window.event.keyCode == 13) getElement("BTNok").click(); if (window.event.keyCode == 27) window.close(); } //============================FUNCTION TO VALIDATE NUMBER FIELDS function Validate_Number(NValue , START_TEXT_ALLOWED , LAST_TEXT_ALLOWED) { //START_TEXT_ALLOWED : alowed character at start (eg : $) //END_TEXT_ALLOWED : alowed character at end (eg : %) if (TRIM(NValue) == "") { return false; } if (typeof(START_TEXT_ALLOWED) == "undefined") START_TEXT_ALLOWED = ""; if (typeof(LAST_TEXT_ALLOWED) == "undefined") LAST_TEXT_ALLOWED = ""; var FVALUE= NValue; var FIRST = FVALUE.substring(0 , START_TEXT_ALLOWED.length); if (FIRST == START_TEXT_ALLOWED) FVALUE = TRIM(FVALUE.substring(START_TEXT_ALLOWED.length , FVALUE.length)); FVALUE = parseFloat(FVALUE) if (isNaN(FVALUE) ) { return false; } NValue = START_TEXT_ALLOWED + FVALUE + LAST_TEXT_ALLOWED; return true; } //=========================== to set / change the menu text - while saving / refreshing a doc function Change_MENU(Menu,Text,TAB) { if (setdivA(Menu) == "[object]") setdiv(Menu).display = "none"; if (setdivA("MessageRow") == "[object]") { setdiv("MessageRow").display = ""; Text = ""; WriteDiv("MessageRow"," " +Text + "") } if (TAB != "" && TAB != null) { D=setdivA("div"+TAB); M=setdivA("TABS"); if (D == "[object]") { D.style.visibility="hidden"; if (hasSUBTABS(TAB)) { // processing each sub tabs' N = TAB; sM=setdivA("TABS"+N); if (sM == "[object]") sM.style.visibility="hidden"; TARR = eval("TABTXT" + N); L = TARR.length; for (i=1;i<=L;i++) { sD=setdivA("div"+N+i); if (sD == "[object]") sD.style.visibility="hidden"; } } } if (M == "[object]") M.style.visibility="hidden"; } } //=========================== to change a query string value of a url function ChangeURL_qsValue(URL , qsLabel , qsValue) { var L = URL.length; var qsToPass = qsLabel + qsValue; var qsExists = URL.indexOf(qsLabel); if (qsExists == -1) { var N = URL.indexOf("&"); var URL1 = URL.substring(0 , N); var URL_Last = URL.substring(N , L); } else { var N = qsExists; var URL1 = URL.substring(0 , N); var URL2 = URL.substring(N+1 , L); var L2 = URL2.length; var N2; //special for category - to allow "&" in category string if (qsLabel == "&CAT=") {N2 = URL2.indexOf("&VIEW=");if (N2 == -1) N2 = URL2.indexOf("&");} else if (qsLabel == "&CAT2=") {N2 = URL2.indexOf("&CAT=");if (N2 == -1) N2 = URL2.indexOf("&");} else N2 = URL2.indexOf("&"); var URL_Last; if (N2 == -1) URL_Last = ""; else URL_Last = URL2.substring(N2 , L2); } URL = URL1 + qsToPass + URL_Last; return URL; } //=========================== to remove a query string value from a url function RemoveURL_qsValue(URL , qsLabel) { var L = URL.length; var qsExists = URL.indexOf(qsLabel); if (qsExists == -1) { return URL; } else { var N = qsExists; var URL1 = URL.substring(0 , N); var URL2 = URL.substring(N+1 , L); var L2 = URL2.length; var N2; //special for category - to allow "&" in category string if (qsLabel == "&CAT=") {N2 = URL2.indexOf("&VIEW=");if (N2 == -1) N2 = URL2.indexOf("&");} else if (qsLabel == "&CAT2=") {N2 = URL2.indexOf("&CAT=");if (N2 == -1) N2 = URL2.indexOf("&");} else N2 = URL2.indexOf("&"); var URL_Last; if (N2 == -1) URL_Last = ""; else URL_Last = URL2.substring(N2 , L2); } URL = URL1 + URL_Last; return URL; } //=========================== to split words to an array function ARRAY(STR,SEP) { if (typeof(STR) == "undefined") return ""; if (STR == null) return ""; STR = STR.toString(); var ARR1 = new Array(); ARR1 = STR.split(SEP); var ARR2 = new Array(); var N=0; for (i =0 ; i < ARR1.length ; i++) { A = TRIM(ARR1[i]); if (A != "") ARR2[N++] = A; } return ARR2; } //=========================== function UNIQUE(ARR) { var ARR2 = new Array(); var N=0; for (i =0 ; i < ARR.length ; i++) { notEXIST = true; for (j = i + 1 ; j < ARR.length ; j++) if (TRIM(ARR[j]) == TRIM(ARR[i])) {notEXIST = false;j=ARR.length;} if (notEXIST) ARR2[N++] = ARR[i]; } return ARR2; } //=========================== function ADD(ARR1,STR,POS) { var ARR2 = new Array(); var N=0; var notADDED = true; for (i =0 ; i < ARR1.length ; i++) { P = i+1; if (POS == P) {ARR2[N++] = STR;notADDED= false;} ARR2[N++] = ARR1[i]; } if (notADDED) ARR2[N++] = STR; return ARR2; } //=========================== function REMOVE_POS(ARR1,POS) { var ARR2 = new Array(); var N=0; for (i =0 ; i < ARR1.length ; i++) { P = i+1; if (POS != P) ARR2[N++] = ARR1[i]; } return ARR2; } //=========================== function REMOVE(ARR1,STR) { var ARR2 = new Array(); var N=0; for (i =0 ; i < ARR1.length ; i++) { if (TRIM(ARR1[i]) != TRIM(STR)) ARR2[N++] = ARR1[i]; } return ARR2; } //=========================== convert array to words function TEXT(ARR,SEP) { var STR = ""; for (i =0 ; i < ARR.length ; i++) { if (STR == "") STR = TRIM(ARR[i]); else if (TRIM(ARR[i]) != "") STR = STR + SEP + TRIM(ARR[i]); } return STR; } //===========================TRIM / LTRIM / RTRIM strings function LTRIM(STR) { STR = STR.toString(); return STR.replace( /^\s*/, "" ) } function RTRIM(STR) { STR = STR.toString(); return STR.replace( /\s*$/, "" ); } function TRIM(STR) { if (typeof(STR) == "undefined") return ""; if (STR == null) return ""; STR = STR.toString(); return RTRIM(LTRIM(STR)); } //=========================== function ASCI(text,position) { var tmp = text.substring(position,position+1); for (var i=1;i<=255;i++) { if (unescape('%' + i.toString(16)) == tmp) return i; } return 0; } //=========================== Replace a substring from a string with another function ReplaceChar(STR,Char1,Char2) { var replacepatern = eval("/" + Char1 + "/g"); return STR.replace(replacepatern , Char2); } //=============================//Getting Elements By ID function getElement(arg) { if (document.all) {return eval("document.all." + arg);} else if (document.layers) {return eval("document." + arg);} else {return document.getElementById(arg);} } //==============================//Check object function isObject(OBJVar) { if (OBJVar == "[object]") return true; if (OBJVar == "undefined") return false; if (OBJVar == null) return false; var OBJType = OBJVar.toString(); if (OBJType.indexOf("[object") == 0) return true; return false; } //=========================== DHTML layer functions //Write to Layer for IE and Netscape.. function WriteDiv(arg,T) { var D; if (document.all) {D = eval("document.all." + arg);} else if (document.layers) {D = eval("document.layers." + arg);} else {D = document.getElementById(arg);} D.innerHTML = T; } //Setting Layer for IE and Netscape.. function setdiv(arg) { if (document.all) {return eval("document.all." + arg + ".style");} else if (document.layers) {return eval("document.layers." + arg);} else {return document.getElementById(arg).style;} } //Setting Layer for IE and Netscape.. function setdivA(arg) { if (document.all) { return eval("document.all." + arg); }else if (document.layers) { return eval("document.layers." + arg); }else { return document.getElementById(arg); } } //==========================on Error function handleError(err, url, line) { var ErrTXT = "iExtensions->javascript error: " + err + "\nURL:" + url + "\nLine:" + line; alert(ErrTXT) self.status = ErrTXT return true; } window.onerror=handleError