var eventType	= document.createElement("select");
eventType.add(new Option("","------"));
eventType.add(new Option("Anniversary","Anniversary"));
eventType.add(new Option("My Birthday","My Birthday"));
eventType.add(new Option("Family Birthday","Family Birthday"));
eventType.add(new Option("Fathers Day","Father’s Day"));
eventType.add(new Option("Kids Birthday","Kids Birthday"));
eventType.add(new Option("Kids party","Kids party"));
eventType.add(new Option("Mothers day","Mother’s day"));
eventType.add(new Option("Romantic","Romantic"));
eventType.add(new Option("Spouse Birthday","Spouse Birthday"));
eventType.add(new Option("Valentines day","Valentine’s day"));


//<<<<<<<<<<<<<<<<<< Calendar >>>>>>>>>>>>>>>
function getCalendar(input){
	var inputObj = document.getElementById(input);
	var calendarObj = new calendar(inputObj);
	calendarObj.year_scroll = true;
	calendarObj.time_comp = false;
	return calendarObj;
}

//<<<<<<<<<<<<<<<<<< Delete Row >>>>>>>>>>>>>>>
function deleteRow(Input){
	//var spDateCount 	= document.getElementById("spDateCount") ;
	var spDateCountMax 	= document.getElementById("spDateCountMax");
	Input.parentNode.parentNode.parentNode.removeChild(Input.parentNode.parentNode) ;
	spDateCountMax.value	= parseInt(spDateCountMax.value) - 1 ;
}

//<<<<<<<<<<<<<<<<<< Edit Row >>>>>>>>>>>>>>>
function editRow(Input){
	var tdDescr			= document.getElementById("tdDescr"+Input);
	var tdDate			= document.getElementById("tdDate"+Input);
	var tdEventType			= document.getElementById("tdEventType"+Input);
	
	var tdEditDescr		= document.getElementById("tdEditDescr"+Input);
	var tdEditDate		= document.getElementById("tdEditDate"+Input);
	var tdEditEventType		= document.getElementById("tdEditEventType"+Input);
	
	var Edit		= document.getElementById("edit"+Input);
	var Conf		= document.getElementById("conf"+Input);
	
	
	
	tdDescr.style.display = "none";
	tdDate.style.display = "none";
	tdEventType.style.display = "none";
	
	tdEditDescr.style.display = "block";
	tdEditDate.style.display = "block";
	tdEditEventType.style.display = "block";
	
	Edit.style.display = "none";
	Conf.style.display = "block";	
}


//<<<<<<<<<<<<<<<<<< Cancel Editing >>>>>>>>>>>>>>>
function cancelRow(Input){
	
	var descr 			= document.getElementById("inDescr"+Input);
	var date 			= document.getElementById("inDate"+Input);
	var eventType 		= document.getElementById("inEventType"+Input);
	
	var hiddescr 		= document.getElementById("hidDescr"+Input);
	var hiddate 		= document.getElementById("hidDate"+Input);
	var hideventType 	= document.getElementById("hidEventType"+Input);
	
	descr.value 	= hiddescr.value ;	
	date.value 		= hiddate.value ;
	eventType.value = hideventType.value ;
	
	var tdDescr			= document.getElementById("tdDescr"+Input);
	var tdDate			= document.getElementById("tdDate"+Input);
	var tdEventType		= document.getElementById("tdEventType"+Input);
	
	var tdEditDescr		= document.getElementById("tdEditDescr"+Input);
	var tdEditDate		= document.getElementById("tdEditDate"+Input);
	var tdEditEventType	= document.getElementById("tdEditEventType"+Input);
	
	var Edit		= document.getElementById("edit"+Input);
	var Conf		= document.getElementById("conf"+Input);
	
	
	tdDescr.style.display = "block";
	tdDate.style.display = "block";
	tdEventType.style.display = "block";
	
	tdEditDescr.style.display = "none";
	tdEditDate.style.display = "none";
	tdEditEventType.style.display = "none";
	
	Edit.style.display = "block";
	Conf.style.display = "none";	
}


//<<<<<<<<<<<<<<<<<< Save Edit Row >>>>>>>>>>>>>>>
function saveRow(Input){

	var descr 			= document.getElementById("inDescr"+Input);
	var date 			= document.getElementById("inDate"+Input);
	var eventType 		= document.getElementById("inEventType"+Input);

	var hiddescr 		= document.getElementById("hidDescr"+Input);
	var hiddate 		= document.getElementById("hidDate"+Input)
	var hideventType	= document.getElementById("hidEventType"+Input)
	
	var tdDescr			= document.getElementById("tdDescr"+Input);
	var tdDate			= document.getElementById("tdDate"+Input);
	var tdEventType		= document.getElementById("tdEventType"+Input);
	
	var tdEditDescr		= document.getElementById("tdEditDescr"+Input);
	var tdEditDate		= document.getElementById("tdEditDate"+Input);
	var tdEditEventType	= document.getElementById("tdEditEventType"+Input);
	
	var Edit			= document.getElementById("edit"+Input);
	var Conf			= document.getElementById("conf"+Input);
	
	var txtDescr		= document.getElementById("divDescr"+Input);
	var txtDate			= document.getElementById("divDate"+Input);
	var txtEventType	= document.getElementById("divEventType"+Input);
	
	var txtDescr1		= document.createElement("div");
	var txtDate1		= document.createElement("div");
	var txtEventType1	= document.createElement("div");
	
	var desc			= document.createTextNode(descr.value);
	var dte				= document.createTextNode(date.value);
	var entType		= document.createTextNode(eventType.value);

	
	txtDescr1.id 		= "divDescr"+Input ;
	txtDate1.id 		= "divDate"+Input ;
	txtEventType1.id 	= "divEventType"+Input ;
	
	tdDescr.style.display = "block";
	tdDate.style.display = "block";
	tdEventType.style.display = "block";
	
	tdEditDescr.style.display = "none";
	tdEditDate.style.display = "none";
	tdEditEventType.style.display = "none";
	
	Edit.style.display = "block";
	Conf.style.display = "none";
	
	hiddescr.value = descr.value ;		
	hiddate.value = date.value ;
	hideventType.value = eventType.value ;
	
	tdDescr.removeChild(txtDescr);
	tdDate.removeChild(txtDate);
	tdEventType.removeChild(txtEventType);

	txtDescr1.appendChild(desc);
	txtDate1.appendChild(dte);
	txtEventType1.appendChild(entType);

	tdDescr.appendChild(txtDescr1);
	tdDate.appendChild(txtDate1);
	tdEventType.appendChild(txtEventType1);
	
}


//<<<<<<<<<<<<<<<<<< Add Row >>>>>>>>>>>>>>>
function addSpecialDate(){
	
	var spDateCount 	= document.getElementById("spDateCount");
	var spDateCountMax 	= document.getElementById("spDateCountMax");
	var date			= document.getElementById("inDate0");	
	var descr 			= document.getElementById("inDescr0");
	var eventType 		= document.getElementById("inEventType0");
	
	if (spDateCountMax.value >= 10){
		alert ("Your Max. Special Dates is 10");
	}
	else{
		spDateCount.value	= parseInt(spDateCount.value) + 1;
		spDateCountMax.value	= parseInt(spDateCountMax.value) + 1;
		var count = parseInt(spDateCount.value);
		var spDateTable 	= document.getElementById("specialDate");
		var spDateTbody		= spDateTable.firstChild;
		
		var mainTr			= document.createElement("tr");
		var mainTd			= document.createElement("td");
		var tdedit			= document.createElement("td");
		var tdSaveCancel	= document.createElement("td");
		var space			= document.createTextNode("   ");
		var inedit			= document.createElement("div");
		var save			= document.createElement("span");
		var txtSave			= document.createTextNode("Save");
		var cancel			= document.createElement("span");
		var txtCancel		= document.createTextNode("Cancel");
		var tddel			= document.createElement("td");
		var indel			= document.createElement("div");
	
		
		tdedit.width		= "30%" ;
		tdedit.align		= "center"
		tdedit.id			= "edit"+spDateCount.value;
		tdedit.style.display= "block" ;
		inedit.innerHTML	= "<img src='images/ico_edit_enabled.gif' width='16' height='16' border='0'>";
		inedit.style.cursor= "hand" ;
		
		inedit.onclick	= function (){
			editRow(count);
		}
		
		tdSaveCancel.width		= "30%" ;
		tdSaveCancel.align		= "center";
		tdSaveCancel.id			= "conf"+spDateCount.value;
		tdSaveCancel.style.display	= "none" ;
		save.innerHTML	= "Save";
		save.style.cursor= "hand" ;
		save.style.color= "#FF0000" ;
		save.onclick	= function (){
			if (validateDateForm(count)){
				saveRow(count);
			}
		}
		cancel.innerHTML	= "Cancel";
		cancel.style.cursor= "hand" ;
		cancel.style.color= "#FF0000" ;
		cancel.onclick	= function (){
			cancelRow(count);
		}

		tddel.width			= "5%" ;
		tddel.align			= "center"
		indel.innerHTML		= "<img src='images/ico_delete.gif' width='16' height='16' border='0'>";
		indel.style.cursor= "hand" ;
		indel.onclick	= function (){
			deleteRow(indel);
		}
		
		var table			= document.createElement("table");
		var tBody			= document.createElement("tbody");
		table.id 			= "reviews"+spDateCount.value+"Table";
		table.width			= "100%";
		table.cellspacing	= "1";
		
		
		var trDate			= document.createElement("tr");
		var tdDateTxt		= document.createElement("td");
		var tdDateInpt		= document.createElement("td");
		var tdHidDateInpt	= document.createElement("td");
		var txtDateLabel	= document.createElement("strong");
		var txtDate			= document.createTextNode("Date :");
		var divDate			= document.createElement ("div");
		var inDate			= document.createTextNode(date.value);
		var hidDate			= document.createElement("input");
		var tempDate		= document.createElement("input");
		var lnkDate			= document.createElement("a");
		
		txtDateLabel.id					= "inDate"+spDateCount.value+"Label";
		trDate.id 						= "Date"+ spDateCount.value +"Tr";
		tdDateTxt.width					= "28%" ;
		tdDateTxt.style.fontWeight 		= "bold";
		
		tdDateInpt.width				= "72%" ;
		tdDateInpt.style.display		= "block"
		tdDateInpt.id 					= "tdDate"+spDateCount.value ;
		
		tdHidDateInpt.width				= "72%" ;
		tdHidDateInpt.style.display		= "none" ;
		tdHidDateInpt.id 				= "tdEditDate"+spDateCount.value ;
		
		hidDate.id			= "inDate"+spDateCount.value;
		hidDate.name		= hidDate.id;
		hidDate.value		= date.value;
		hidDate.size		= "12";
		hidDate.onblur 		= function (){resetClass(hidDate);};
		
		tempDate.id			= "hidDate"+spDateCount.value;
		tempDate.name		= tempDate.id;
		tempDate.type		= "hidden";
		tempDate.value		= date.value ;
		
		divDate.id			= "divDate"+spDateCount.value;
		divDate.name		= divDate.id ;
		
		lnkDate.innerHTML	= "<img src="+"images/cal.gif"+" alt="+"Insert Date"+" width="+"16"+" height="+"16"+" border="+"0"+" />";
		lnkDate.href		= "javascript:getCalendar('inDate"+ spDateCount.value +"').popup();";
		lnkDate.id			= "lnkDate"+spDateCount.value;
		lnkDate.name		= lnkDate.id;
		
		
		
		var trEventType			= document.createElement("tr");
		var tdEventTypeTxt		= document.createElement("td");
		var tdEventTypeInpt		= document.createElement("td");
		var tdHidEventTypeInpt	= document.createElement("td");
		var txtEventType		= document.createTextNode("Event Type:");
		var hidEventType		= eventType.cloneNode(true);
		var tempEventType		= document.createElement("input");
		var divEventType		= document.createElement("div");
		var inEventType			= document.createTextNode(eventType.value);
		
		trEventType.id 			= "EventType"+ spDateCount.value +"Tr" ;
		tdEventTypeTxt.width	= "100";
 		tdEventTypeTxt.style.fontWeight 	= "bold";
		tdEventTypeInpt.style.display		= "block"
		tdEventTypeInpt.id 					= "tdEventType"+spDateCount.value ;
		tdHidEventTypeInpt.style.display	= "none" ;
		tdHidEventTypeInpt.id 				= "tdEditEventType"+spDateCount.value ;	
		
		hidEventType.id			= "inEventType"+spDateCount.value;
		hidEventType.name		= hidEventType.id;
		hidEventType.value		= eventType.value ;
		tempEventType.id		= "hidEventType"+spDateCount.value;
		tempEventType.name		= tempEventType.id;
		tempEventType.type		= "hidden";
		tempEventType.value		= eventType.value ;
		divEventType.id 		= "divEventType"+spDateCount.value;
		
		tdEventTypeTxt.appendChild(txtEventType);
		divEventType.appendChild(inEventType);
		tdEventTypeInpt.appendChild(divEventType);
		tdHidEventTypeInpt.appendChild(hidEventType);
		tdHidEventTypeInpt.appendChild(tempEventType);
		trEventType.appendChild(tdEventTypeTxt);
		trEventType.appendChild(tdEventTypeInpt);
		trEventType.appendChild(tdHidEventTypeInpt);
	
		
		
		var trDescr			= document.createElement("tr");
		var tdDescrTxt		= document.createElement("td");
		var tdDescrInpt		= document.createElement("td");
		var tdHidDescrInpt	= document.createElement("td");
		var txtDescr		= document.createTextNode("Description :");
		var hidDescr		= document.createElement("input");
		var tempDescr		= document.createElement("input");
		var divDescr		= document.createElement("div");
		var inDescr			= document.createTextNode(descr.value);
		
		trDescr.id 			= "Descr"+ spDateCount.value +"Tr" ;
		tdDescrTxt.width	= "100";
 		tdDescrTxt.style.fontWeight 	= "bold";
		tdDescrInpt.style.display		= "block"
		tdDescrInpt.id 					= "tdDescr"+spDateCount.value ;
		tdHidDescrInpt.style.display	= "none" ;
		tdHidDescrInpt.id 				= "tdEditDescr"+spDateCount.value ;	
		
		hidDescr.id			= "inDescr"+spDateCount.value;
		hidDescr.name		= hidDescr.id;
		hidDescr.value		= descr.value ;
		hidDescr.size		= "25";
		tempDescr.id		= "hidDescr"+spDateCount.value;
		tempDescr.name		= tempDescr.id;
		tempDescr.type		= "hidden";
		tempDescr.value		= descr.value ;
		divDescr.id 		= "divDescr"+spDateCount.value;
		
		tdDescrTxt.appendChild(txtDescr);
		divDescr.appendChild(inDescr);
		tdDescrInpt.appendChild(divDescr);
		tdHidDescrInpt.appendChild(hidDescr);
		tdHidDescrInpt.appendChild(tempDescr);
		trDescr.appendChild(tdDescrTxt);
		trDescr.appendChild(tdDescrInpt);
		trDescr.appendChild(tdHidDescrInpt);
		
		txtDateLabel.appendChild(txtDate);
		tdDateTxt.appendChild(txtDateLabel);
		divDate.appendChild(inDate);
		tdDateInpt.appendChild(divDate);
		tdHidDateInpt.appendChild(hidDate);
		tdHidDateInpt.appendChild(document.createTextNode(" "));
		tdHidDateInpt.appendChild(lnkDate);
		tdHidDateInpt.appendChild(tempDate);
		trDate.appendChild(tdDateTxt);
		trDate.appendChild(tdDateInpt);
		trDate.appendChild(tdHidDateInpt);
		
		var hr1				= document.createElement("hr");
		var hr2				= document.createElement("hr");
		//var hr3				= document.createElement("hr");
		hr1.size 			="2"
		hr1.color			="#000000"
		hr2.size 			="2"
		hr2.color			="#000000"
		//hr3.size 			="2"
		//hr3.color			="#000000"
		var hrTd1 = document.createElement("td");
		var hrTd2 = document.createElement("td");
		//var hrTd3 = document.createElement("td");
		var hrTr = document.createElement("tr");
		
		hrTd1.appendChild(hr1);
		hrTd2.appendChild(hr2);
		//hrTd3.appendChild(hr3);
		hrTr.appendChild(hrTd1);
		hrTr.appendChild(hrTd2);
		//hrTr.appendChild(hrTd3); 
		
		tBody.appendChild(trDate);
		tBody.appendChild(trEventType);
		tBody.appendChild(trDescr);
		tBody.appendChild(hrTr);
		table.appendChild(tBody);

		
		mainTd.appendChild(table);
		mainTr.appendChild(mainTd);
		tdedit.appendChild(inedit);
		tdSaveCancel.appendChild(save);
		tdSaveCancel.appendChild(space);
		tdSaveCancel.appendChild(cancel);
		tddel.appendChild(indel);
		mainTr.appendChild(tdedit);
		mainTr.appendChild(tdSaveCancel);
		mainTr.appendChild(tddel);
		
		
		spDateTbody.appendChild(mainTr);
		
	
	}
	
}

function validateDate(counter){
	var allValid 	= true;
	var date	= document.getElementById('inDate'+counter);
	
	if(date.value == ''){
		alert("Please, enter the date of the Special Date");
		document.getElementById(date.id+'Label').className = "requiredField";
		date.focus();
		allValid = false;;
	}
	else 
	if(!is_Date(date.value)){
		document.getElementById(date.id+'Label').className = "requiredField";
		date.focus();
		allValid = false;
	}
	return allValid;
}

function validateDateForm(counter){
	isAllValid = true;
	isAllValid = validateDate(counter);
	return isAllValid;
}

function resetClass(inputField){
	if(inputField.value != ''){
		var lable = document.getElementById(inputField.id+'Label');
		lable.className = '';
	}
}
