/**
 * In The Name of Allah, The Most Beneficient, The Most Merciful
 */

var W_LESSON_PRICE_NOT_DEFINED = ' براي اين گرايش دوره اش تعريف نشده است.'
var W_LESSON = 'درس'
var W_NOT_DEFINED = 'مشخص نشده است.'

function AddToSelectedLessonsTable(ListID, TableID)
{
	ListID = $(ListID);
	TableID = $(TableID);

	var FE = $('cmb' + ListID.id.substr(3)) /* Aliased as cmbLessons */;

	if (!FE.length) {return;}

	var iTendencyUID = FE.options[FE.selectedIndex].value;
	for (var i = 0, oOption, iView, iValue, oPrice, oTR, oTD, oElement, tmp; i < ListID.options.length; i++)
	{
		oOption = ListID.options[i];
		if (oOption.selected) {
			iValue = oOption.value;
			sView = oOption.text;
			//------------------------------------------
			if (oPrice = GetPriceDetail(iActiveTerm, iTendencyUID, iValue /* as LessonUID */))
			{
				//------------------------------------------
				if (!IsInTable(oPrice['PriceUID'], TableID))
				{
					oTR = $(TableID.insertRow(-1)).addClass("TableListClass").setStyle("height", "20");
					oTR.id = oPrice['PriceUID'];
					oTD = new Element("td", {className: "TableListClass"}).inject(oTR);

					new Element("input", {type: "checkbox"}).inject(oTD);

					new Element("td", {className: "TableListClass"}).inject(oTR).innerHTML = TableID.rows.length - 1;

					new Element("td", {className: "TableListClass"}).inject(oTR).innerHTML = oPrice['TendencyTitle'];	
	
					new Element("td", {className: "TableListClass"}).inject(oTR).innerHTML = GetLesson(oPrice['LessonUID'])['View'];

					new Element("td", {className: "TableListClass"}).inject(oTR).innerHTML = oPrice['Price'];
					AddLesson_(oPrice['Price']);
				}
				else
				{
					alert(GetLesson(oPrice['LessonUID'])['View'] + ' ' + W_WARNING_SELECTED);
				}
				//------------------------------------------
				//ListID[i].selected = false;
			}
			else
			{
				alert(W_LESSON + ' ' + sView + ' ' + W_LESSON_PRICE_NOT_DEFINED)
			}
			//------------------------------------------
		}
	}
	//-----------------------
}

function SetLessonsTableLessons(Lessons, iTendencyUID, aPrices)
{
	for (var i = 0; i < Lessons.length; i++)
	{
		iValue = Lessons[i];
		//------------------------------------------
		if (oPrice = GetPriceDetail(iActiveTerm, iTendencyUID, iValue /* as LessonUID */))
		{
			//------------------------------------------
			if (!IsInTable(oPrice['PriceUID'], TableID))
			{
				oTR = $(TableID.insertRow(-1)).addClass("TableListClass").setStyle("height", "20");
				oTR.id = oPrice['PriceUID'];
				oTD = new Element("td", {className: "TableListClass"}).inject(oTR);

				new Element("input", {type: "checkbox"}).inject(oTD);
				new Element("td", {className: "TableListClass"}).inject(oTR).innerHTML = TableID.rows.length - 1;
				new Element("td", {className: "TableListClass"}).inject(oTR).innerHTML = oPrice['TendencyTitle'];	
				new Element("td", {className: "TableListClass"}).inject(oTR).innerHTML = GetLesson(oPrice['LessonUID'])['View'];
				new Element("td", {className: "TableListClass"}).inject(oTR).innerHTML = oPrice['Price'];

				AddLesson_(oPrice['Price']);
			}
			else
			{
				alert(GetLesson(oPrice['LessonUID'])['View'] + ' ' + W_WARNING_SELECTED);
			}
			//------------------------------------------
			//ListID[i].selected = false;
		}
		else
		{
			alert(W_LESSON + ' ' + sView + ' ' + W_LESSON_PRICE_NOT_DEFINED)
		}
		//------------------------------------------
	}
}
function DeleteFromSelectedLessonsTable(TableID)
{
	TableID = $(TableID);
	for (var i = 0, iPrice; i < TableID.rows.length; )
	{
		if (TableID.rows[i].cells[0].firstChild.checked)
		{
			iPrice = $(TableID.rows[i].cells[4]).get('html');
			TableID.deleteRow(i);
			RemoveLesson_(iPrice);
		}
		else
		{
			i++;	
		}
	}
}
function AddLesson_(Price)
{
	PE = $('PS_');
	LCE = $('LCS_');
	LDE = $('LDS_');
	LDE2 = $('LDS2_');
	LFEE = $('LFES_');

	PEV = PE.get('text'); PEV -= 0; PEV += (Price - 0); PE.set('text', PEV + '');
	LCEV = LCE.get('text'); LCEV -= 0; LCEV += 1; LCE.set('text', LCEV + '');
	if(DC = GetDiscount(LCEV))
	{
		LDEV = LDE.get('text'); LDEV = DC['D'] - 0; LDE.set('text', LDEV + ' %');
		LDE2V = LDE2.get('text'); LDE2V = (PEV * (100 - LDEV) / 100); LDE2.set('text', LDE2V + '');
		LFEEV = LFEE.get('text'); LFEEV = DC['FE']; LFEE.set('text', LFEEV + '');
	}
	else
	{
		LDE.set('text', W_NOT_DEFINED);
		LDE2.set('text', PEV + '');
		LFEE.set('text', W_NOT_DEFINED);
	}
}

function RemoveLesson_(Price)
{
	PE = $('PS_');
	LCE = $('LCS_');
	LDE = $('LDS_');
	LDE2 = $('LDS2_');
	LFEE = $('LFES_');

	PEV = $(PE).get('text'); PEV -= Price; PE.set('text', PEV + '');
	LCEV = $(LCE).get('text'); LCEV -= 1; LCE.set('text', LCEV + '');

	if(DC = GetDiscount(LCEV))
	{
		LDEV = $(LDE).get('text'); LDEV = DC['D'] - 0; LDE.set('text', LDEV + ' %');
		LDE2V = $(LDE2).get('text'); LDE2V = (PEV * (100 - LDEV) / 100); LDE2.set('text', LDE2V + '');
		LFEEV = $(LFEE).get('text'); LFEEV = DC['FE']; LFEE.set('text', LFEEV + '');
	}
	else
	{
		LDE.set('text', W_NOT_DEFINED);
		LDE2.set('text', PEV + '');
		LFEE.set('text', W_NOT_DEFINED);
	}

}

function GetDiscount(LessonsCount)
{
	for(var i = 0; i < DL.length; i++)
	{
		if (DL[i]['L'] == LessonsCount)
		{
			return DL[i];
		}
	}
	return false;
}

function GetPriceDetail(iTerm, iTendency, iLesson)
{
	var oTendencyLessonPrice = {}, mResult = false;
	FreezeFrame();
	new Request.JSON({'url': 'schooldetails.php?Which=TendencyLessonPrice&Term=' + iTerm + '&Tendency=' + iTendency + '&Lesson=' + iLesson + '&Output=AJAX', 'method': 'get', 'async': false, 'onSuccess': function() {oTendencyLessonPrice = arguments[0];}}).send();
	if ($defined(oTendencyLessonPrice.Price))
	{
		mResult = oTendencyLessonPrice;
	}
	DefrostFrame();
	return mResult;
}

function GetLesson(Value)
{
	if (DataArray_cmbLessons)
		for (Lesson in DataArray_cmbLessons)
			if (DataArray_cmbLessons[Lesson]['Value'] == Value)
				return DataArray_cmbLessons[Lesson];

	return false;
}

function GetTendency(Value)
{
	if (TL)
	{
		for (Tendency in TL)
		{
			if (TL[Tendency]['TU'] == Value)
			{
				return TL[Tendency]['TT'];
			}
		}
	}

	return false;
}

function SetSelectedData_DL_MS_TableList2(ComboID,ListID,TableID)
{
	var aSelectedDataArray = SetSelectedDataArray(ListID), TableID = $(TableID),
	aPrices = null, mResult = false;

	FreezeFrame();
	for (var i = 0, aSelectedDataArrayString = new String; i < aSelectedDataArray.length; i++)
		aSelectedDataArrayString += aSelectedDataArray[i].Subject + ';';
	if (aSelectedDataArrayString)
		aSelectedDataArrayString.substring(0, aSelectedDataArrayString.length - 2)

	new Request.JSON({'url': 'schooldetails.php?Which=LessonsPrice&SelectedLessons=' + aSelectedDataArrayString + '&Output=AJAX', 'method': 'get', 'async': false, 'onSuccess': function() {aPrices = arguments[0];}}).send();
	aPrices = aPrices !== null ? aPrices : [];
	DefrostFrame();

	var FE = $('cmb' + $(ListID).id.substr(3)) /* Aliased as cmbLessons */;

	if (!FE.length) {return;}
	var ParentUID = FE.options[FE.selectedIndex].value;
/*
	for (var i = 0, oPrice, iValue; i < aPrices.length; i++)
	{
		oPrice = aPrices[i];
		iValue = oPrice['PriceUID'];

		for (var j = 0; j < aSelectedDataArray.length; j++)
		{
			if (iValue == aSelectedDataArray[j])
			{
				oTR = $(TableID.insertRow(-1)).addClass("TableListClass").setStyle("height", "20");
				oTR.id = oPrice['PriceUID'];
				oTD = new Element("td", {className: "TableListClass"}).inject(oTR);

				new Element("input", {type: "checkbox"}).inject(oTD);
			
				new Element("td", {className: "TableListClass"}).inject(oTR).innerHTML = TableID.rows.length - 1;

				new Element("td", {className: "TableListClass"}).inject(oTR).innerHTML = oPrice['TendencyTitle'];	

				new Element("td", {className: "TableListClass"}).inject(oTR).innerHTML = GetLesson(oPrice['LessonUID'])['View'];

				new Element("td", {className: "TableListClass"}).inject(oTR).innerHTML = oPrice['Price'];
				AddLesson_(oPrice['Price']);
			}
		}
	}
*/
	for (var i = 0, oPrice, iValue; i < aPrices.length; i++)
	{
		oPrice = aPrices[i];
		iValue = oPrice['PriceUID'];

		oTR = $(TableID.insertRow(-1)).addClass("TableListClass").setStyle("height", "20");
		oTR.id = oPrice['PriceUID'];
		oTD = new Element("td", {className: "TableListClass"}).inject(oTR);

		new Element("input", {type: "checkbox"}).inject(oTD);
	
		new Element("td", {className: "TableListClass"}).inject(oTR).innerHTML = TableID.rows.length - 1;

		new Element("td", {className: "TableListClass"}).inject(oTR).innerHTML = oPrice['TendencyTitle'];	

		new Element("td", {className: "TableListClass"}).inject(oTR).innerHTML = GetLesson(oPrice['LessonUID']).View;

		new Element("td", {className: "TableListClass"}).inject(oTR).innerHTML = oPrice['Price'];
		AddLesson_(oPrice['Price']);
	}
}

function LoadLessons(evt)
{
	FreezeFrame();
	var FE = $('cmbFieldUID');

	if (!FE.length)
		return;

	new Request.JSON({url: 'schooldetails.php?Which=Lessons&FieldUID=' + FE.options[FE.selectedIndex].value + '&Output=AJAX', method: 'get', onSuccess: ArrangeLessons}).send();
}

function LoadTendencies(evt)
{
	FreezeFrame();
	DataArray_cmbLessons.length = 0;
	DataSetting_DL_MS_MP('cmbLessons', 'lstLessons');
	var FE = $('cmbFieldUID');

	if (!FE.length)
		return;

	var FieldUID = FE.options[FE.selectedIndex].value;
	new Request.JSON({url: 'schooldetails.php?Which=TendenciesLessons&FieldUID=' + FieldUID + '&Output=AJAX', method: 'get', 'async': false, onSuccess: ArrangeTendencies}).send();
}

function ArrangeTendencies(Tendencies, TendenciesText)
{
	for (var i = 0, Lessons = new Array(), T; i < Tendencies.length; i++)
	{
		if ((Tendencies[i].PU - 0) == 0)
		{
			T = Tendencies[i].ET;
			Lessons[Lessons.length] = Tendencies[i];
		}
		else
		{
			T = Tendencies[i].ET + ' (' + Tendencies[i].ED + ')';
		}
		DataArray_cmbLessons[i] = {Value: Tendencies[i].EU, View: T, Parent: Tendencies[i].PU};
	}
	ArrangeLessons(Lessons);

	DataSetting_DL_MS_MP('cmbLessons', 'lstLessons');
	DefrostFrame();
}

function ArrangeLessons(Lessons, TendenciesText)
{
	var L = $('cmbLessons') || $('cmbLessonUID'), t;
	for (var i = 0, A, T; i < Lessons.length; i++)
	{
		T = Lessons[i].ET;
		if (Lessons[i].ED)
			T += ' (' + Lessons[i].ED + ')';

//		var A = new Element('option', {title: T, view: T, value: Lessons[i].EU}).inject(L);
		L.options[L.length] = $(new Option(T, Lessons[i].EU, false, false)).setProperty('title', T);
//		$(new Option(T, Lessons[i].EU, false, false)).setProperty('title', T).inject(L);
	}
	if (L.id == 'cmbLessonUID')
	{
		DefrostFrame();
	}
}

function FieldChanged()
{
	if (EmptyLessons())
	{
		LoadTendencies();
	}
}

function SchoolTermLessonsFieldChanged()
{
	EmptyLessons()
	LoadLessons();
}

function EmptyLessons()
{
	var LE;
	if (LE = $('cmbLessonUID') || $('cmbLessons'))
	{
		LE.length = 0;
	}
	if (!(LE = $('lstLessons')))
	{
		return false;
	}
	LE.length = 0;

	var LT = $('tblLessons')

	for (var i = LT.rows.length; i > 1; )
	{
		LT.deleteRow(--i);
	}

	PE = $('PS_');
	LCE = $('LCS_');
	LDE = $('LDS_');
	LDE2 = $('LDS2_');
	LFEE = $('LFES_');

	$(PE).set('html', '0'); $(LCE).set('html', '0'); $(LDE).set('html', '0 %'); $(LDE2).set('html', '0'); $(LFEE).set('html', '0');
	return true
}
function GetTotalFishesValue()
{
	var FT = $('tblFishInfo')

	var TotalValue = 0;
	for (var i = 1; i < FT.rows.length; i++)
	{ TotalValue += $(FT.rows[i].cells[4]).get('html') - 0;}
	return TotalValue;
}

function GetPayableValue()
{
	return $('LDS2_').get('html') - 0;
}

function MCheckChanged()
{
	var M1 = $('txtMatriculant_Univ');
	var M2 = $('txtMatriculant_Field');
	var M3 = $('txtMatriculant_Station');

	var MCheck = $('Matriculated_Check');
	var MTable = $('Matriculated_Table');
	//alert('Hi ' + MCheck.status + '\'');
	if (MCheck.checked)
	{
		M3.disabled = M2.disabled = M1.disabled = false;
		M3.readOnly = M2.readOnly = M1.readOnly = false;
	}
	else
	{
		M3.disabled = M2.disabled = M1.disabled = true;
		M3.readOnly = M2.readOnly = M1.readOnly = true;

//		MTable.disabled = "disabled";
//		MTable.readOnly = "readonly";
	}
}


function SchoolEnrollmentLoader()
{
	var M1 = $('txtMatriculant_Univ');
	var M2 = $('txtMatriculant_Field');
	var M3 = $('txtMatriculant_Station');

	var MTable = $('Matriculated_Table');
	var MCheck = $('Matriculated_Check');

	if (M1 && M2 && M3)
	{
		if (M1.value == '' && M2.value == '' && M3.value == '')
		{
			MCheck.checked = false;
			M3.disabled = M2.disabled = M1.disabled = true;
			M3.readOnly = M2.readOnly = M1.readOnly = true;
		}
		else
		{
			MCheck.checked = true;
			M3.disabled = M2.disabled = M1.disabled = false;
			M3.readOnly = M2.readOnly = M1.readOnly = false;
		}
	}
}
window.addEvent('load', SchoolEnrollmentLoader);

function CheckTheValidationofForms()
{
	var HP = $('txtHomePhone');
	var WP = $('txtOfficePhone');
	var MP = $('txtMobile');
	
	if (!((trim(HP.value).length > 0) || (trim(WP.value).length > 0) || (trim(MP.value).length > 0)))
	{alert('W_PLEASE_ENTER_ONE_OF_THREE_TELELPHONE_NUMBERS');HP.focus();return false;}

	var LT = $('tblLessons')
	if (LT.rows.length <= 1)
	{alert('W_YOUR_ARENOT_SELECTED_ANY_LESSON');return false;}

	var FT = $('tblFishInfo')
	if (FT.rows.length <= 1)
	{alert('W_YOUR_ARENOT_ENETERD_ANY_FISH');return false;}

	if ((GetPayableValue() - 0) > (GetTotalFishesValue() - 0))
	{alert('W_NOT_ACCEPTABLE_REGISTRATION_FISHES_VALUES');return false;}

	return true;
}
