
var sXml="";

var list = new Array(2)
list[0] = new Array (400)
list[1] = new Array (400)

//init array 

//Attachment.js list[0][0] - list[0][9]
list[0][0] = "אנא ציין קובץ מצורף"
list[1][0] = "Please select file to attach"

//calendar.js list[0][10] - list[0][39]
list[0][10] = "ינואר"
list[1][10] = "January"
list[0][11] = "פברואר"
list[1][11] = "February"
list[0][12] = "מרץ"
list[1][12] = "March"
list[0][13] = "אפריל"
list[1][13] = "April"
list[0][14] = "מאי"
list[1][14] = "May"
list[0][15] = "יוני"
list[1][15] = "June"
list[0][16] = "יולי"
list[1][16] = "July"
list[0][17] = "אוגוסט"
list[1][17] = "August"
list[0][18] = "ספטמבר"
list[1][18] = "September"
list[0][19] = "אוקטובר"
list[1][19] = "October"
list[0][20] = "נובמבר"
list[1][20] = "November"
list[0][21] = "דצמבר"
list[1][21] = "December"

list[0][22] = "sunday" 
list[0][23] = "monday" 
list[0][24] = "Thusday" 
list[0][25] = "Wednesday" 
list[0][26] = "Thursday"  
list[0][27] = "Friday"
list[0][28] = "Saturday" 

list[0][29] = "א" 
list[0][30] = "ב" 
list[0][31] = "ג" 
list[0][32] = "ד" 
list[0][33] = "ה"  
list[0][34] = "ו"
list[0][35] = "ש" 

list[1][29] = "S" 
list[1][30] = "M"
list[1][31] = "T" 
list[1][32] = "W" 
list[1][33] = "T"  
list[1][34] = "F"
list[1][35] = "S" 

//email.js  list[0][40] - list[0][49]
list[0][40] = "אנא עבור למצב תצוגה"
list[1][40] = "Please switch to view mode"
list[0][41] = "עבור למצב תצוגה"
list[1][41] = "Switch to view mode"
list[0][42] = "עבור למצב עריכה"
list[1][42] = "Switch to edit mode"


//fastsearch.js  list[0][50] - list[0][59]
list[0][50] = "אנא הכנס ערך לחיפוש."
list[1][50] = "Please enter search value."
list[0][51] = "אירעה שגיאה בחיפוש. אנא נסה שנית."
list[1][51] = "Search Error ,Please try again. "

//global.js list[0][60] - list[0][69]
list[0][60] = "לא נמצאו רשומות למחיקה"
list[1][60] = "No records were selected "
list[0][61] = "אנא בחר רשומות למחיקה"
list[1][61] = "Please select records to delete"
list[0][62] = "? האם למחוק רשומות שנבחרו"
list[1][62] = "Erase selected records ?"

//gridactions.js list[0][70] - list[0][79]
list[0][70] = "דף"
list[1][70] = "Page"
list[0][71] = "אנא מלא ערך לחיפוש מהיר"
list[1][71] = "Please enter search value."
list[0][72] = "אירעה שגיאה בחיפוש. אנא נסה שנית."
list[1][72] = "Search Error ,Please try again. "

//importdata.js list[0][80] - list[0][89]
list[0][80] = "אנא בחר קובץ ."
list[1][80] = "Please select a file."
list[0][81] = "אנא בחר לפחות שדה אחד להתאמה."
list[1][81] = "Please select at least one field"


//object.js  list[0][90] - list[0][109]
list[0][90] = "אין אפשרות לבצע פעולה זו לפני שמירה ראשונית"
list[1][90] = "Please save the record first."
list[0][91] = "האם לבצע שינוי מצב רשומה ?"
list[1][91] = "Do you want to change record state ?"
list[0][92] = " אנא מלא ערך עבור "
list[1][92] = "Please enter a value "
list[0][93] = "אנא הכנס מספר חוקי"
list[1][93] = "Please enter a valid number"
list[0][94] = "אין אפשרות להפיק דוח רכיבי מוצרים  , לפני ביצוע שמירה"
list[1][94] = "Please save the record first."
list[0][95] = "אין אפשרות להפוך להזמנה , לפני ביצוע שמירה"
list[1][95] = "Please save the record first"
list[0][96] = "? האם ברצונך להפוך את המתעניין ללקוח"
list[1][96] = "Convert this Lead to Account ?"
list[0][97] = "אין אפשרות לניהול הרשאות , לפני ביצוע שמירה"
list[1][97] = "Please save the record first."
list[0][98] = "אין אפשרות לשלוח דואר אלקטרוני , לפני ביצוע שמירה"
list[1][98] = "Please save the record first."
list[0][99] = "אין אפשרות לייבא מוצרים , לפני ביצוע שמירה"
list[1][99] = "Please save the record first."
list[0][100] = "אין אפשרות לחשב זמני עבודה , לפני ביצוע שמירה"
list[1][100] = "Please save the record first."
list[0][101] = "אין אפשרות להפוך הצעת מחיר להזמנה עבור מתעניין"
list[1][101] = "converting Quote to Order is not possible for Lead."


//reportdesigner.js list[0][110] - list[0][139]
list[0][110] = "שווה ל"
list[1][110] = "Equals To"
list[0][111] = "לא שווה ל"
list[1][111] = "Not Equals To"
list[0][112] = "לפני תאריך"
list[1][112] = "Prior To"
list[0][113] = "בתאריך"
list[1][113] = "On Date"
list[0][114] = "דומה ל"
list[1][114] = "Like"
list[0][115] = "לא דומה ל"
list[1][115] = "Not Like"
list[0][116] = "אחרי תאריך"
list[1][116] = "Later Then"
list[0][117] = "גדול מ"
list[1][117] = "Larger Then"
list[0][118] = "היום"
list[1][118] = "Today"
list[0][119] = "קטן מ"
list[1][119] = "Smaller Then"
list[0][120] = "מכיל מידע"
list[1][120] = "Has Value"
list[0][121] = "אתמול"
list[1][121] = "yesterday"
list[0][122] = "לא מכיל מידע"
list[1][122] = "Has No Value"
list[0][123] = "מחר"
list[1][123] = "Tomorrow"
list[0][124] = "שבוע נוכחי"
list[1][124] = "This Week"
list[0][125] = "שבוע שעבר"
list[1][125] = "Last Week"
list[0][126] = "שבוע הבא"
list[1][126] = "Next Week"
list[0][127] = "חודש נוכחי"
list[1][127] = "This Month"
list[0][128] = "חודש שעבר"
list[1][128] = "Last Month"
list[0][129] = "משתמש נוכחי"
list[1][129] = "Current User"
list[0][130] = "לא מתחיל ב"
list[1][130] = "Does Not Starts With"
list[0][131] = "מתחיל ב"
list[1][131] = "Starts With"
list[0][132] = "אנא מלא סדר נתונים עבור השדה המבוקש"
list[1][132] = "Please enter date Order for current field"
list[0][133] = " אנא מלא ערך עבור "
list[1][133] = "Please enter value"
list[0][134] = " אנא מלא רוחב שדה עבור "
list[1][134] = "Please enter field width"
list[0][135] = "אנא מלא ערך לחיתוך"
list[1][135] = "Please enter Filtering value"
list[0][136] = "אנא מלא את כל הערכים בחיתוך המבוקש"
list[1][136] = "Please enter all values in requested filter"
list[0][137] = "חודש הבא"
list[1][137] = "Next Month"
//userobject.js  list[0][140] - list[0][149]
list[0][140] = "אנא הכנס מספר חוקי"
list[1][140] = "Please enter a valid number."

//viewdesigner.js list[0][150] - list[0][179]
list[0][150] = "שווה ל"
list[1][150] = "Equals To"
list[0][151] = "לא שווה ל" 
list[1][151] = "Not Equals To"
list[0][152] = "לפני תאריך"
list[1][152] = "Prior To"
list[0][153] = "בתאריך"
list[1][153] = "On Date"
list[0][154] = "דומה ל"
list[1][154] = "Like"
list[0][155] = "לא דומה ל"
list[1][155] = "Not Like"
list[0][156] = "אחרי תאריך"
list[1][156] = "Later Then"
list[0][157] = "גדול מ"
list[1][157] = "Largger Then"
list[0][158] = "קטן מ"
list[1][158] = "Smaller Then"
list[0][159] = "מכיל מידע"
list[1][159] = "Has Value"
list[0][160] = "לא מכיל מידע"
list[1][160] = "Has No Value"
list[0][161] = "לא מתחיל ב"
list[1][161] = "Not Starts With"
list[0][162] = "מתחיל ב"
list[1][162] = "Starts With"
list[0][163] = "אנא מלא סדר נתונים עבור השדה המבוקש"
list[1][163] = "Please enter field order for the current field"
list[0][164] = " אנא מלא ערך עבור "
list[1][164] = "Please enter value"
list[0][165] = " אנא מלא רוחב שדה עבור "
list[1][165] = "Please enter field width"
list[0][166] = "אנא מלא ערך לחיתוך"
list[1][166] = "Please enter Filtering value"
list[0][167] = "אנא מלא את כל הערכים בחיתוך המבוקש"
list[1][167] = "Please enter all values in requested filter"
list[0][168] = "אירעה שגיאת מערכת"
list[1][168] = "System error has occurred"

list[0][170] = "יש לבחור כותרת"
list[1][170] = "Please choose Title first."
list[0][171] = "האם ברצונך למחוק את הכותרת שנבחרה ואת כל תת העץ שמתחתיה.?"
list[1][171] = "Erase selected Title and all her sub tree ?."
list[0][172] = "אנא מלא ערך לחיפוש"
list[1][172] = "Please enter search crateria"

list[0][173] = "7 ימים הבאים"
list[1][173] = "Next 7 days"
list[0][174] = "7 ימים הקודמים"
list[1][174] = "Previous 7 days"

list[0][175] = "אנא בחר רשומות לביצוע הפעולה"
list[1][175] = "Please select rows for this action"
list[0][176] = "הפעולה תבוצע רק על רשומות פעילות\n? האם להחיל הפעולה על הרשומות שנבחרו"
list[1][176] = "Apply action on selected records ?"
list[0][177] = "אין אפשרות להפיק דוח תכנית עבודה , לפני ביצוע שמירה"
list[1][177] = "Please save the record first."
list[0][178] = "האם ברצונך לבצע יציאה ?"
list[1][178] = "Do you want to Log Off ?"
list[0][179] = "האם לשמור את השינויים ?"
list[1][179] = "Do you want to save the changes ?"
list[0][180] = "לא נבחרו רשומות לשליחה , אנא בחר רשומות רלוונטיות"
list[1][180] = "No records were selected for bulk email !"
list[0][181] = "אנא בחר תבנית דואר אלקטרוני לשליחה"
list[1][181] = "Please select Email template."
list[0][182] = "אנא בחר תבנית דואר אלקטרונית אחת בלבד"
list[1][182] = "Please select only one email template"
list[0][183] = "אין רשומות בתצוגה , לשליחה"
list[1][183] = "No records were found"
list[0][184] = "אנא מלא שדה תאריך לפי הפורמט הבא : DD/MM/YY"
list[1][184] = "Date field must be in the following format : DD/MM/YY"
list[0][185] = "תגובה:"
list[1][185] = "Re:"
list[0][186] = "הודעה מקורית:"
list[1][186] = "Original Message:"
list[0][187] = "אנא בחר ערך לעריכה"
list[1][187] = "Please select a value to edit"
list[0][188] = "אנא מלא לפחות ערך אחד בתנאים"
list[1][188] = "Please select at least one condition"
list[0][189] = "נא להכניס סיסמה מחדש"
list[1][189] = "Please Insert The Password Again"
list[0][190] = "hh:mm אנא הכנס שעה חוקית בפורמט"
list[1][190] = "Please enter hour as hh:mm"
list[0][200] = "אנא בצע שמירה ראשונית לפני בחירת נמענים מתוך רשומה"
list[1][200] = "Please save record before choosing this option"
list[0][201] = "אנא הכנס תאריך לפני"
list[1][201] = "Please insert date Before"
list[0][202] = "יש לתת כותרת למסמך"
list[1][202] = "You must inset title for document"


var lang ="heb";
//var lang ="eng";

function getExp(index) {
	if (lang == "eng"){
		return list[1][index]
		}
	else{
		return list[0][index]
	}	
}



function setValSelect(oselect)
{
   eval("DisplayForm." + oselect.id.slice(3,oselect.id.length) + ".value=" + oselect.value);
}


function save(nodename)
{
    if (extractXML(true,nodename) == 2) return;
    //alert(sXml);
    crmDataForm.ObjectXml.value = sXml
  
    //var inpt = document.createElement("<input type='file' name='docfilename' value='" + DisplayForm.docfilename.value + "'/>");
    //inpt.setAttribute('name', 'docfilename');
    //inpt.setAttribute('type', 'file');
    //inpt.setAttribute('value', '');
    //crmDataForm.appendChild(inpt);
    
    //DisplayForm.createElement('<input type='file' name='docfilename' value=''/>');

    //crmDataForm.docfilename.value = DisplayForm.docfilename.value    
    //crmDataForm.elements['docfilename'].value = DisplayForm.elements['docfilename'].value

    crmDataForm.submit();
}

//return 1; -> ready to submit
//return 2; -> data was not entered
//return 3; -> nothing to save

function extractXML(toValid,nodename){
  var eLen ; //debugger;
  sXml = ""
  eLen = DisplayForm.elements.length;
  for (i=0;i<eLen;i++){
     e = DisplayForm.elements[i]; 
     if (e.tagName != "SELECT" && e.type != "radio" && e.type != "file") 
     {
			if (e.type == "text" || e.type == "textarea" || e.type == "password")
				{
					e.value = JSTrim(e.value)
				}
			if (toValid){
				if ((parseInt(e.rq, 10) == 1) && (e.value.length == 0) ){
					var oTD = e;
					if (oTD.dt == 3 ){
					    if (oTD.parentElement.parentElement.parentElement.parentElement.parentElement.previousSibling.className == "CPTitlesreq" || oTD.parentElement.parentElement.parentElement.parentElement.parentElement.previousSibling.className == "CPTitlesreqEng"){
					       alert( getExp(92) + oTD.parentElement.parentElement.parentElement.parentElement.parentElement.previousSibling.innerText);
					    }
					}else{
						while (oTD != "undefined")
						{
						    if ((oTD.parentElement.tagName == "TR") && (oTD.previousSibling.className == "CPTitlesreq" || oTD.previousSibling.className == "CPTitlesreqEng"))
						    {
						       break;
						    }else{
							  oTD = oTD.parentElement
							}
						}
					    alert( getExp(92) + oTD.previousSibling.innerText);
					}
					//infoSubFolder.style.display = "inline";
					try{
					  fnShowContent(lyrTab1)
					  }
					catch(er){}
					return 2; //data was not entered
				}
			}
			if (((e.value != e.defaultValue) || (e.mf==1)) && e.ignore != "1")
				{
				    //alert(e.value + "|" + e.defaultValue + "|" + e.id);
					
					if (e.dt == 3){
					   if (e.valueutcdefault != e.valueutc){
					      sXml += buildNode(e)
					      continue;
					   }
					}
					if (e.type == "checkbox") {
						if (((e.checked != e.defaultChecked)))
							{
							sXml += buildNode(e)
							}
					}else{
					    if (e.mf==1){
						   if (e.value != "") sXml += buildNode(e);
						}else{
						     sXml += buildNode(e)
						}
					}
					continue;
				}
			if (e.type == "checkbox") {
			     if (((e.checked != e.defaultChecked)))
					{
					sXml += buildNode(e)
					}
			}
	 }
  } // end of loop
  if (sXml.length > 0)
	{
	  //var s = crmDataForm.ObjectName.value;
	  //var s = event.srcElement;
	  //sXml = "<" + s + ">" + sXml + "</" + s + ">"; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
	  
	  sXml = "<" + nodename + ">" + sXml + "</" + nodename + ">";
	  crmDataForm.ObjectXml.value = sXml;
	  return 1;
	}
   return 3
}





function buildNode(e){
   var bol = "0"
   var txt = "<" + e.id
   if (e.dt){
      txt += " dt='" + e.dt
   }else {
      txt += " dt='0"
   } 
   if (e.type == "checkbox") {
      if(e.checked){bol="1";}else{bol="0";};
      txt += "'>" + bol + "</" + e.id + ">";
   }else{
      if (e.dt == 3){
        txt += "'>" + e.valueutc + "</" + e.id + ">";
      }else{
        txt += "'>" + convertToDB(e.value) + "</" + e.id + ">";
      }
   }
   
   return txt
}






function fnShowContent(oTab){
    TabParent = oTab.parentElement 
	HeaderTabs = oTab.parentElement.parentElement.parentElement.parentElement.parentElement.firstChild.firstChild.firstChild.firstChild.firstChild.firstChild.firstChild
	for(var i=0; i<TabParent.children.length;i++){
		TabParent.children[i].style.display = "none";
	}
	// extract the tab ID from the div ID
	tabID = oTab.id.substring(6,7);
	for(var i=0; i<HeaderTabs.children.length;i++){
	   if (trTabs.children[i].id.substring(0,2) == "td")
		  {
		    trTabs.children[i].className = "tabFieldOFF"
		  }
	}
	eval("HeaderTabs.children['tdTab" + tabID+ "'].className = 'tabFieldDN'")
	oTab.style.display = "inline";
}





function convertToDB(x)
{
	if (IsNull(x))
	{
	   return "";
	}
    x = Trim(x)
	return XmlEncode(x);
}



function Trim(s)
{
	s = s.replace(/^\s+|\s+$/g, '');

	var chars = String.fromCharCode(0x0085, 0x00A0, 0x2028, 0x2029, 0x1680, 0x180E, 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, 0x202F, 0x205F, 0x3000);
	for (var i = 0; i < chars.length; i++)
	{
		var iChar = chars.charCodeAt(i);
		var sChar = "";
		if (iChar < 0x100)
		{
		  sChar += "00";
		}
		else if (iChar < 0x1000)
		{
		  sChar += "0";
		}
		  sChar += iChar.toString(16);
		  s = s.replace(new RegExp("^\\u" + sChar + "+|\\u" + sChar + "+$", "g"), '');
	}

return s;
}




function XmlEncode(s)
{
	if (IsNull(s))
	{
	   return "";
	}
	if (typeof(s) != "string")
	{
	   s = s.toString();
	}
	s = escape(s);
	s = s.replace(/%20/g, " ");
	s = s.replace(/%u(\w{4})/g,	"&#x$1;");
	s = s.replace(/%(\w{2})/g,	"&#x$1;");
	return s;
}

// from Global.js

function IsNull(o)
{
return ("undefined" == typeof(o) || "unknown" == typeof(o) || null == o)
}

function JSTrim(str)
{				
	while(str.charCodeAt(0)==32){str = str.substring(1);}							
	for(var i=str.length;(i>0) && str.charCodeAt(i-1)==32;i--);
	str=str.substring(0,i);	
	return str;
}

function FormatDisplayDate(o)
{
    var m = o.getMonth() + 1;
	var d = o.getDate();
	var y = o.getFullYear();
	
	return AddNumber(d) + "/" + AddNumber(m) + "/" + y;
}

function saveUserProfile()
{
    // Check Passwords 
    if (DisplayForm.elements['passwordconform'].value != DisplayForm.elements['passwordconform'].defaultValue || DisplayForm.elements['password'].value != DisplayForm.elements['password'].defaultValue) 
    {
      if (DisplayForm.elements['passwordconform'].value != DisplayForm.elements['password'].value)
      {
        alert(getExp(189));
        return;
      }
    }
    
    
    if (extractXML(true,"Root") == 2) return;
    //alert(sXml);
    crmDataForm.ObjectXml.value = sXml
    //crmDataForm.SubmitMode.value = 1 //save
    crmDataForm.submit();
}


function ParseInputDate(oInp){
   if (IsNull(oInp)) {return ;}
   if (oInp.value == "") { oInp.valueutc = "" ; return ; }
   
   var cd = ParseDate(JSTrim(oInp.value))
   if (!cd) { alert(getExp(184)) ; oInp.value = oInp.defaultValue ; return ; }
   oInp.valueutc = FormatUtcDate(cd);
   oInp.value = FormatDisplayDate(cd);
}


function FormatUtcDate(o)
{
	return String(o.getFullYear()) + "-" + AddNumber(String(o.getMonth() + 1)) + "-" + AddNumber(String(o.getDate())) + "T" + AddNumber(String(o.getHours())) + ":" + AddNumber(String(o.getMinutes())) + ":00";
}

// this function returns a valid date or false
function ParseDate(sDate){  
   try{
		var arrDateParts = sDate.split("/");
		if (arrDateParts.length < 3){return false ;}
		for (i = 0; i < arrDateParts.length; i++){
			if (!IsValidNum(arrDateParts[i])){
				return false ;
			}
		}
		var c_m, c_d, c_y;
		c_d = arrDateParts[0];
		c_m = arrDateParts[1];
		c_y = arrDateParts[2];
		   
		//checking valid year...
		c_y = parseInt(PadYear(c_y), 10);
		if (!((c_y >= 0 && c_y < 100) || (c_y >= 1900 && c_y < 2100))) {return false}
		// checking valid month...
		c_m = parseInt(c_m, 10) - 1 ;
		if (c_m < 0 || c_m > 12){return false ;}
		//checking valid day...
		var da = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
		c_d = parseInt(c_d, 10);
		if (c_d <= 0 || c_d > da[c_m]){return false;}
		   
		   
		var CurrDate = NewDate(c_d,c_m,c_y);
		   
		if (isNaN(CurrDate)){ return false;}
		return CurrDate
	   }catch(er){
	     return false;
	   }
}


function checkHour(o){
   var i;
   var hour;
   var minute;
   var strInput;
   
   strInput = o.value;
   
   if (strInput.length == 0 ){return;}
   if (strInput.length == 4)
		strInput = "0" + strInput;
   if (strInput.length != 5)
   {
		alert(getExp(190));
		o.select();
		return;
   }
   
   hour = strInput.charAt(0) + strInput.charAt(1);
   minute = strInput.charAt(3) + strInput.charAt(4);
   
   if ( (!isValidHour(hour, minute)) || (strInput.charCodeAt(2) != 58) )
   {
		alert(getExp(190));
		o.select();
		return;
   }
}

function isValidHour(hour, minute)
{
	if ( (!IsValidNum(hour)) || (!IsValidNum(hour)) )
		return false;
		
	if ( parseInt(hour) > 24 || parseInt(hour) < 0 )
		return false;
		
	if ( parseInt(minute) > 59 || parseInt(minute) < 0 )
		return false;
		
	if ( parseInt(hour) == 24 && parseInt(minute) > 0 )
		return false;
		
	return true;
}

function IsValidNum(tn)
{
	if (tn == null) return false;
	var x = tn.length;
	if (x == 0) return false;
	var s = 0;
	if (tn.charAt(0) == "-")
	s = 1;
	var i,a;
		for (i = s; i < x; i++)
		{
		a = tn.charCodeAt(i);
		if (a < 46 || a > 57) return false;
		}
	return true;
}

function change_dir()
{
	if (document.getElementById("description").dir == "rtl")
		document.getElementById("description").dir = "ltr";
	else
		document.getElementById("description").dir = "rtl";
}

function PadYear(s){
    s = new String(s);
    if (s.length == 4){
      return s;
    }

	if (s.length == 1){
	  s = 0 + s;
	}
	if (parseInt(s, 10) < 30){
	  return "20" + s;
	}
	  return "19" + s;
}

function NewDate(cday, cmonth, cyear, chour, cminute, csec)
{
	if (IsNull(chour) || IsNull(cminute) || IsNull(csec))
	{
		chour = 0;
		cminute = 0;
		csec = 0;
	}
	var NDate = new Date(cyear, cmonth, cday, chour, cminute, csec);
	return NDate;
}


   function SendAll() 
   {
   
     if (document.getElementById("title").value == "")
     {
       alert(getExp(202));
     }
     else
     {
      crmDataForm.submit();
     }
   }
   function exportPayments(objid){

	var iUrl = ""
    iUrl = "exportxls.aspx?ViewSchemaID=91585b3e-7a7b-409a-a2bb-debabedabdf6&ParentObjectID=" + objid
    window.location = iUrl;

}
