﻿//==<SCRIPT LANGUAGE=javascript>
var winDebugWindow;
var intDebugPositionNumber = 0;
var blnDebugWinOK = true;
var strComboSearch = new Array();
var strSearchComboName = '';
var intAlertRetValue = -1;
//-----------------------------------

function Debug(strTextParam)
{
	if (winDebugWindow == null && blnDebugWinOK)
	{
		var datStartDateObj = new Date()
		datStartDateObj.valueOf()

		winDebugWindow = window.open('../Include/Debug.asp','DebugWin','top=0,left=300,width=480,height=1,menubar=no,resizable=yes,scrollbars=yes,status=no,titlebar=no,toolbar=no');
		varForEver = true;
		while (varForEver && blnDebugWinOK)
		{
			try
			{
				while (winDebugWindow.varPageLoaded.value == 'false'){}
				varForEver = false;
			}
			catch(exception)
			{
				var datCheckDateObj = new Date()
				if ((datCheckDateObj.valueOf() - datStartDateObj.valueOf())>2000)
					blnDebugWinOK = false;
			}
		}
		if (blnDebugWinOK)
		{
			while (winDebugWindow.varPageLoaded.value == 'false'){}
		}
	}

	if (blnDebugWinOK)
		try
		{
			winDebugWindow.document.body.innerHTML = winDebugWindow.document.body.innerHTML + '<DIV ID=DPN' + intDebugPositionNumber + '>' + strTextParam + '</DIV>';
			winDebugWindow.focus();
			objDPN = eval('winDebugWindow.DPN'+intDebugPositionNumber);
			objDPN.scrollIntoView(false);
			intDebugPositionNumber = intDebugPositionNumber + 1;
		}
		catch (exception)
		{
			alert('Sorry. Close \'Debug\' window and retry')
		}
}
//-----------------------------------

function SwapIn()
{
	if (!$.browser.mozilla) {
		var tempSrc, tempExt
		tempSrc = window.event.srcElement.src;
		tempExt = tempSrc.substring(tempSrc.length-4)
		window.event.srcElement.src = tempSrc.substring(0,tempSrc.length-4) + '01' + tempExt;
	}
}
//-----------------------------------

function SwapOut() {
	if (!$.browser.mozilla) {
		var tempSrc, tempExt
		tempSrc = window.event.srcElement.src;
		tempExt = tempSrc.substring(tempSrc.length-4)
		window.event.srcElement.src = tempSrc.substring(0,tempSrc.length-6) + tempExt;
	}
}
//-----------------------------------

function Enter2Tab()
{
	if (event.keyCode == 13)
		event.keyCode = 9;
}
//-----------------------------------

function Trim(StrValue)
{
  var st = StrValue;
  while ((st.length > 0) && (st.charAt(0) == " ")) 
	st = st.substring(1, st.length);
  while ((st.length > 0) && (st.charAt(st.length-1) == " "))    
    st = st.substring(0, st.length-1);  
  return st;
}
//-----------------------------------

function IsEmpty(st)
{
  st = Trim(st);
  return (st.length == 0);
}
//-----------------------------------

function blnDateIsOK(strDateNamePar, strFormNamePar, blnDoAlertPar, blnDoFocusPar)
{
	var strFormName;
	var objY, objM, objD;
	var objYv, objMv, objDv;
	var objDate = new Date();
	objY = objDate.getYear();
	objM = "";
	objD = "";
	objYv = "";
	objMv = "";
	objDv = "";
	
	if (strFormNamePar != '')
		strDateName = eval('document.'+strFormNamePar+'.id')+'.txt'+strDateNamePar
	else
		strDateName = eval('document.forms(0).id')+'.txt'+strDateNamePar

	if (eval('document.all.txt' + strDateNamePar + 'Year'))
		objY = Trim(eval(strDateName+'Year').value);
	if (eval('document.all.txt' + strDateNamePar + 'Month'))
		objM = Trim(eval(strDateName+'Month').value);
	if (eval('document.all.txt' + strDateNamePar + 'Day'))
		objD = Trim(eval(strDateName+'Day').value);

	objYv = 1 * objY;
	objMv = 1 * objM;
	objDv = 1 * objD;
	
	if (objY+objM+objD != '' && (objYv<1300 || objMv<1 || objMv>12 || objDv<1 || objDv>31 || (objMv>6 && objDv>30)) || isNaN(objY) || isNaN(objM) || isNaN(objD))
	{
		if (blnDoFocusPar)
			if (eval('document.all.txt' + strDateNamePar + 'Year'))
				eval(strDateName+'Year').focus();
		if (blnDoAlertPar)
			alert('تاريخ صحيح نمي‌باشد');
		return false;
	}
	return true;
}
//-----------------------------------

function voidDoFixDate(strDateNamePar, strFormNamePar)
{
	var strFormName;
	var objY, objM, objD;
	var objYv, objMv, objDv;
	objY = "";
	objM = "";
	objD = "";
	objYv = "";
	objMv = "";
	objDv = "";
	
	if (strFormNamePar != '')
		strDateName = eval('document.'+strFormNamePar+'.id')+'.txt'+strDateNamePar;
	else
		strDateName = eval('document.forms(0).id')+'.txt'+strDateNamePar;
	
	
	if (eval('document.all.txt' + strDateNamePar + 'Year'))
		objY = Trim(eval(strDateName+'Year.value'));
	if (eval('document.all.txt' + strDateNamePar + 'Month'))
		objM = Trim(eval(strDateName+'Month.value'));
	if (eval('document.all.txt' + strDateNamePar + 'Day'))
		objD = Trim(eval(strDateName+'Day.value'));
	
	objYv = 1 * objY;
	objMv = 1 * objM;
	objDv = 1 * objD;
	
	if (objYv == 0)
		if (eval('document.all.txt' + strDateNamePar + 'Year'))
			eval(strDateName + 'Year').value = '';
	if (objMv == 0)
		if (eval('document.all.txt' + strDateNamePar + 'Month'))
			eval(strDateName + 'Month').value = '';
	if (objDv == 0)
		if (eval('document.all.txt' + strDateNamePar + 'Day'))
			eval(strDateName + 'Day').value = '';

	if (objMv < 10 && objM != '' && objMv >0)
		if (eval('document.all.txt' + strDateNamePar + 'Month'))
			eval(strDateName + 'Month').value = '0' + objMv.toString();
	if (objDv < 10 && objD != '' && objDv >0)
		if (eval('document.all.txt' + strDateNamePar + 'Day'))
			eval(strDateName + 'Day').value = '0' + objDv.toString();
	
	return void(0);
}
//-----------------------------------

function strFixDateValue(strDateNamePar, strFormNamePar, strSeperatorPar)
{
	var strFormName;
	var objY, objM, objD;
	var objYv, objMv, objDv;
	objY = "";
	objM = "";
	objD = "";
	objYv = "";
	objMv = "";
	objDv = "";
	
	if (strFormNamePar != '')
		strDateName = eval('document.'+strFormNamePar+'.id')+'.txt'+strDateNamePar
	else
		strDateName = eval('document.forms(0).id')+'.txt'+strDateNamePar

	if (eval('document.all.txt' + strDateNamePar + 'Year'))
		objY = Trim(eval(strDateName+'Year').value);
	if (eval('document.all.txt' + strDateNamePar + 'Month'))
		objM = Trim(eval(strDateName+'Month').value);
	if (eval('document.all.txt' + strDateNamePar + 'Day'))
		objD = Trim(eval(strDateName+'Day').value);

	objYv = 1 * objY;
	objMv = 1 * objM;
	objDv = 1 * objD;

	if (objYv==0)
		objY = '    ';
	if (objMv==0)
		objM = '  ';
	if (objDv==0)
		objD = '  ';
	
	if (objYv<1000 && objY!='    ')
		objY = '    '.substr(0,(4-objY.length)) + objYv.toString();
	if (objMv<10 && objM!='  ')
		objM = '0' + objMv.toString();
	if (objDv<10 && objD!='  ')
		objD = '0' + objDv.toString();
	return (objY + strSeperatorPar +objM + strSeperatorPar + objD);
}
//-----------------------------------

function blnIsDateEmpty(strDateNamePar, strFormNamePar)
{
	if (Trim(strFixDateValue(strDateNamePar, strFormNamePar, '')) == '')
		return true;
	else
		return false;
}
//-----------------------------------

function AlertParameters()
{
	var strMessage;
}
//-----------------------------------

function Alert(intAlertTypePar, strAlertMessagePar)
{
	AlertParameters.strMessage = strAlertMessagePar;
	return window.showModalDialog(strRoot + 'include/Alert.asp?AlertType=' + intAlertTypePar, AlertParameters, "dialogWidth:350px; dialogHeight:150px; status:no; help:no");
}
//-----------------------------------

function isEmail(str)
{
	// are regular expressions supported?
	var supported = 0;
	if (window.RegExp) {
		var tempStr = "a";
		var tempReg = new RegExp(tempStr);
		if (tempReg.test(tempStr))
			supported = 1;
	}
	if (!supported)
		return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
	var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
	return (!r1.test(str) && r2.test(str));
}
//-----------------------------------

function check_stringval(str) {
	return !(str.indexOf("-") >= 0 || str.indexOf("'") >= 0 || str.indexOf('"') >= 0)
}
//-----------------------------------

function check_date(datestr,isfarsi)
{
  if (datestr.length != 10)
		return false;
  else
  {
    if (isfarsi == false) {
      if (datestr.indexOf("/",0)==2 &&  datestr.indexOf("/",3)==5)
      {
	    mm = parseInt(1*datestr.substr(0,2))
	    dd = parseInt(1*datestr.substr(3,2))	  
        yyyy = parseInt(1*datestr.substr(6,4))
	    
	    if ((yyyy < 1900) || (yyyy>3000)) 
	      return false;
	    if ((mm < 1) || (mm > 12))
	      return false;
        if ((dd < 1) || (dd > 31))
	      return false;
	  
	    return true;
	  }
	  else
	    return false;
	} 
	else 
	{
	  if (datestr.indexOf("/",0)==4 &&  datestr.indexOf("/",5)==7)
    {
	    yyyy = parseInt(1*datestr.substr(0,4))
	    mm = parseInt(1*datestr.substr(5,2))
	    dd = parseInt(1*datestr.substr(8,2))
	    
	    if ((yyyy < 1300) || (yyyy>1400)) 
	      return false;
	    if ((mm < 1) || (mm > 12))
	      return false;
        if ((dd < 1) || (dd > 31))
 	      return false;
	  
	    return true;
	  }
	  else
	    return false;
	}   
  }
}
//-----------------------------------

function SwapImg(strImgId, strImgSrc)
{
	eval("document.images['"+strImgId+"']").src = strImgSrc;
}

//-----------------------------------

function DoComboSearch(pstrComboName, pstrTitle) {
	strSearchComboName = pstrComboName;
	var objDiv = document.getElementById("divSearchInCombo");
	if (objDiv.style.display != '') {
		var objTargetCombo = document.getElementById(pstrComboName);
		var objSearchCombo = document.getElementById("selSearchInCombo");
		document.getElementById("txtSearchInCombo").value = '';
		document.getElementById("spnSearchInComboTitle").innerHTML = pstrTitle;
		strComboSearch.length = null;
		objSearchCombo.options.length = null
		for (i = 0; i < objTargetCombo.options.length; i++) {
			var objOption = objTargetCombo.options[i];
			objSearchCombo.options[i] = new Option(objOption.text, objOption.value);
			strComboSearch[2 * i] = objOption.text;
			strComboSearch[2 * i + 1] = objOption.value;
		}
		objDiv.style.display = '';
	}
	else
		objDiv.style.display = 'none';

}
//-----------------------------------

function ComboSearchKeyPressed() {
	var strText = document.getElementById("txtSearchInCombo").value.replace(/ /g, '');
	strText = strText.replace(/‌/g, '');
	strText = strText.replace(/ـ/g, '');
	while (strText.indexOf(String.fromCharCode(1740)) >= 0)
		strText = strText.replace(String.fromCharCode(1740), 'ي');
	var objSearchCombo = document.getElementById("selSearchInCombo");
	objSearchCombo.length = null;
	var intItem = 0;
	for (i = 0; i < strComboSearch.length; i++) {
		var strOptiontext = strComboSearch[i].replace(/ /g, '');
		strOptiontext = strOptiontext.replace(/‌/g, '');
		strOptiontext = strOptiontext.replace(/ـ/g, '');
		while (strOptiontext.indexOf(String.fromCharCode(1740)) >= 0)
			strOptiontext = strOptiontext.replace(String.fromCharCode(1740), 'ي');
		if (strOptiontext.indexOf(strText) >= 0 || strOptiontext.toLowerCase().indexOf(strText.toLowerCase()) >= 0 || strText == '')
			objSearchCombo.options[intItem++] = new Option(strComboSearch[i], strComboSearch[i + 1]);
		i++;
	}
	if (intItem == 0)
		objSearchCombo.options[0] = new Option("موردي يافت نشد", "valueNotFoundInSearchCombo");

}
//-----------------------------------

function SelectItemInSearchCombo() {
	var objSearchCombo = document.getElementById("selSearchInCombo");
	if (objSearchCombo.options[objSearchCombo.selectedIndex].value == "valueNotFoundInSearchCombo")
		alert('.موردي يافت نشده است')
	else {
		var objTargetCombo = document.getElementById(strSearchComboName);
		var objSearchCombo = document.getElementById("selSearchInCombo");
		var strSelectedItem = objSearchCombo.options[objSearchCombo.selectedIndex].text;
		for (i = 0; i < objTargetCombo.options.length; i++) {
			if (objTargetCombo.options[i].text == strSelectedItem) {
				objTargetCombo.selectedIndex = i;
				break;
			}
		}
		document.getElementById("divSearchInCombo").style.display = 'none';
	}
}
//-----------------------------------

function CreateRequestObject() {
/*
	var objRequest;
	var objBrowser = navigator.appName;
	if (objBrowser == "Microsoft Internet Explorer")
		objRequest = new ActiveXObject("Microsoft.XMLHTTP");
	else
		objRequest = new XMLHttpRequest();
	return objRequest;
*/
	var objRequest = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		objRequest = new XMLHttpRequest();
		if (objRequest.overrideMimeType) {
			objRequest.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject) { // IE
		try {
			objRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				objRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) { }
		}
	}
	if (!objRequest) {
		//alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
	return objRequest;
}

//-----------------------------------

function NewWindow(pstrPath, pstrWindName, pintWidth, pintHeight, pstrOption)
{
	var intLeft = (screen.availWidth - (pintWidth < 268 ? 268 : pintWidth)) / 2
	var intTop = (screen.availHeight - (pintHeight < 194 ? 194 : pintHeight)) / 2
	pstrOption = pstrOption =='' ? 'resizable=yes,scrollbars=yes' : pstrOption
	var strOption = 'top=' + intTop + ',left=' + intLeft + ',width=' + pintWidth + ',height=' + pintHeight + (pstrOption ? ',' + pstrOption : '')
	window.open(pstrPath, pstrWindName, strOption);
}
//-----------------------------------

function DeleteAttachment(pintId) {
	if (7 == Alert(4, 'آيا این فایل ضمیمه حذف شود؟'))
		return;
	$('#spnDel' + pintId).hide();
	$('#imgRefresh' + pintId).show();
	$.ajax({
		url: strRoot + 'Attachment/Delete.asp?qsId=' + pintId,
		type: 'GET',
		dataType: 'html',
		timeout: 60 * 1000,
		cache: false,
		error: function() {
			$('#spnDel' + pintId).show();
			$('#imgRefresh' + pintId).hide();
			alert('.پاسخي از سايت دريافت نشد \n\r.لطفا مجددا سعي نماييد');
		},
		success: function(strHTML) {
			if (strHTML == '0') {
				$('#spnAttchment' + pintId).animate({ height: 1, opacity: 0 }, 1000, function() { $('#spnAttchment' + pintId).hide(); });
			}
			else {
				alert('بروز خطلا در حذف فایل');
			}
		}
	});
}
//-----------------------------------

function SetField(pstrOptions, pstrContext) {
	$('#' + pstrContext).html($('#' + pstrContext).html() + '<img src="' + strRoot + 'images/RefreshC.gif" />')
	$.ajax({
		url: strRoot + 'Include/SetField.asp?qsOptions=' + pstrOptions,
		type: 'GET',
		dataType: 'html',
		timeout: 60 * 1000,
		context: document.getElementById(pstrContext),
		cache: false,
		error: function() {
			$('#' + this.id + ' img').remove();
			alert('.پاسخي از سايت دريافت نشد. \n\r لطفا مجددا سعي نماييد');
		},
		success: function(strHTML) {
			$('#' + this.id + ' img').remove();
			if (strHTML == '-1' || strHTML == '-2' || strHTML == '')
				alert('.بروز مشکل در دسترسی به رکورد مورد نظر\n\r.لطفا مجددا سعي نماييد');
			else {
				strResult = strHTML.split(',')
				$('#' + strResult[0]).html(strResult[1] == 1 ? 'ü' : '');
			}
		}
	});
}
//-----------------------------------
//==</SCRIPT>

