
/*window.onerror = handleError;
function handleError (err, url, line) {

    if (err.indexOf('focus') != -1) {
    	  alert("error is handled")
    } else {
      alert('Error - ' + err);
      alert("let the browser handle the error")
     }

}*/

function string_validate_char_and_length (valid_field, regex_kind, required, var_length, alert_measg) {

	var actual_string_to_validate = valid_field.value

	if (regex_kind==1) 		aktual_regex = new RegExp("^[0-9]+$", "gi");
	if (regex_kind==2) 		aktual_regex = new RegExp("^[a-zA-ZΗΛηλ][a-zA-Z' -ΗΛηλ]+$", "gi")
	if (regex_kind==3) 		aktual_regex = new RegExp("^[0-9]{8}$", "gi")
	if (regex_kind==4) 		aktual_regex = new RegExp("^[0-9]*[.]?[0-9]{0,2}$", "gi")
	if (regex_kind==5) 		aktual_regex = new RegExp("^[a-zA-Z0-9ΗΛηλ\.\-][a-zA-Z0-9' ΗΛηλ\.\-]+$", "gi")

	if (actual_string_to_validate == "") {
		if (required == 'yes') actual_string_to_validate = 'error';									//validimi per required
	} else {
		if (var_length!=0) {
			if (actual_string_to_validate.length < var_length) actual_string_to_validate = 'error';	//validimi per gjatesine e stringut
		}
		if (regex_kind!=0) {
			if (!aktual_regex.test(actual_string_to_validate)) {
				actual_string_to_validate = 'error';												//validimi per validitetin e charactereve
			}
		}
	}

	if (actual_string_to_validate=='error') {
		alert(alert_measg)
		
		if (valid_field.type != "hidden")
			valid_field.focus();
	}

	return actual_string_to_validate;
}


function controll_date(valid_field, required, interval_in, alert_mesg, begin_interval, end_interval) {
//alert(interval_in+'--'+valid_field.value+'--'+begin_interval+'--'+end_interval+'')
		//validimi per non empty
		date_valid = '';		
		if (valid_field.value == "") {
			if (required == 'yes') {
				//alert(_fill_required_fields)
				date_valid = 'error';		
			}
		} else {
			date_valid = controll_valid_date(valid_field)
			if (interval_in!=0 && date_valid!='error') {
				//interval_in = 0, nuk ka rendesi se cfare date eshte
				//interval_in = 1, bithdate
				if (interval_in==1) { 	
					date_valid =  controll_interval_date(valid_field, begin_interval, end_interval);
				}
			}		
		}
//alert(date_valid+'--'+alert_mesg+'--'+begin_interval+'--'+end_interval)
		if (date_valid=='error') {
			alert(alert_mesg)
			valid_field.focus();
		} else {
			var date_valid = valid_field.value
		}
		
		return date_valid;
}


function controll_valid_date(valid_field) {

	var date_valid = valid_field.value
	//validimi per validitetin e charactereve
	var regex_date_valid = new RegExp("^[0-3][0-9][.][0-1][0-9][.][0-9]{4}$", "gi");	
	if (!regex_date_valid.test(date_valid)) {
		//alert(_format_date);
		valid_field.focus();
		return 'error';
	} else {
		var day 	= Number(date_valid.substr(0,2))
		var month = Number(date_valid.substr(3,2))
		var year 	= Number(date_valid.substr(date_valid.length - 4))
		if (day < 0 || day > 31 || month < 0 || month > 12 || year<1000) {
			//alert(_format_date)
			valid_field.focus();
			return 'error';
		}
	} 		
	return date_valid;
}


function controll_interval_date(valid_field,begin_interval, end_interval) {

		if (controll_date_in_interval(begin_interval, valid_field.value) == 'error' 
			||
			controll_date_in_interval(valid_field.value, end_interval) == 'error') {
			return 'error';
		}
		return 'ok';
}


function format_part_date(input) {
	
if (input.length && input.length>1)
		return input;	
	else if (input.length && input.length>1) 
		return "0"+input;
	else
		return input;	
}

function controll_date_in_interval(insertDate, expireDate) {

	rep=/\./gi
	insertDate=insertDate.replace(rep, "\",\"");
	insertDate="\""+insertDate+"\"";
	allval="new"+" Array("+insertDate+")";
	allBD=eval(allval);

	var begin_day 	= allBD[0]
	var begin_month = allBD[1]
	var begin_year 	= allBD[2]

	expireDate=expireDate.replace(rep, "\",\"");
	expireDate="\""+expireDate+"\"";
	allval="new"+" Array("+expireDate+")";
	allED=eval(allval);

	var end_day 	= allED[0]
	var end_month 	= allED[1]
	var end_year 	= allED[2]


	begin_day   = Number(begin_day)
	begin_month = Number(begin_month)
	begin_year  = Number(begin_year)
	end_day     = Number(end_day)
	end_month   = Number(end_month)
	end_year    = Number(end_year)

//	alert(begin_day+'--'+begin_month+'--'+begin_year+'----'+insertDate)
//	alert(end_day+'--'+end_month+'--'+end_year+'----'+expireDate)
//
//	var begin_day = Number(insertDate.substr(0,2))
//	var begin_month = Number(insertDate.substr(3,2))
//	var begin_year = Number(insertDate.substr(insertDate.length - 4))
//
//	var end_day = Number(expireDate.substr(0,2))
//	var end_month = Number(expireDate.substr(3,2))
//	var end_year = Number(expireDate.substr(insertDate.length - 4))

//	alert(insertDate+'=========='+expireDate+'=========='+(begin_year > end_year) || ((begin_year == end_year) && ((begin_month > end_month) || ((begin_month == end_month) && (begin_day > end_day))))+'=============')

	if (begin_year > end_year) return 'error';
	if (begin_year == end_year) {
		if (begin_month > end_month) return 'error';
		if (begin_month == end_month) {
			if (begin_day > end_day) return 'error';
		}
	}
	return 'ok';
	

//		if (
//				(begin_year > end_year)
//					||
//				(
//					(begin_year == end_year)
//						&&
//					(
//						(begin_month > end_month) || ((begin_month == end_month) && (begin_day > end_day))))) {
//			
//			
//			return 'error';
//		}
//		
//		return 'ok';
}






function controll_interval_date_old(insertDate, expireDate) {

	var interval_date	= '0'
	
	if ((insertDate=='' && expireDate!='') || (insertDate!='' && expireDate=='')) {
		alert(_fill_interval_date);	
		return 2;
	} else if (insertDate!='' && expireDate!='') {
	
		interval_date	= '1'
		var date_regex_b = new RegExp("^[0-3][0-9][.][0-1][0-9][.][0-9]{4}$", "gi");	
		var date_regex_e = new RegExp("^[0-3][0-9][.][0-1][0-9][.][0-9]{4}$", "gi");	

		if (insertDate != '') {
			if (!date_regex_b.test(insertDate)) {
				alert(_format_date_b)
				return 0;
			} else {
				var begin_day 	= Number(insertDate.substr(0,2))
				var begin_month = Number(insertDate.substr(3,2))
				var begin_year 	= Number(insertDate.substr(insertDate.length - 4))
				//alert(begin_day+' -- '+begin_month+' -- '+begin_year)
				if (begin_day < 0 || begin_day > 31 || begin_month < 0 || begin_month > 12) {
					alert(_format_date_b)
					return 0;
				}
			} 
		}

		if (expireDate != '') {
			if (!date_regex_e.test(expireDate)) {
				alert(_format_date_e)
				return 0;
			} else {
				var end_day 	= Number(expireDate.substr(0,2))
				var end_month 	= Number(expireDate.substr(3,2))
				var end_year 	= Number(expireDate.substr(insertDate.length - 4))
				
				//alert(end_day+' -- '+end_month+' -- '+end_year)
				if (end_day < 0 || end_day > 31 || end_month < 0 || end_month > 12) {
					alert(_format_date_e)
					return 0;
				}				
			}
		}
		
		if (begin_year!=end_year) {
			alert(_inside_the_same_year)
			return 0;
		} else if (begin_month > end_month || (begin_month == end_month && begin_day > end_day)) {
			alert(_begindate_bigger_than_end_date)
			return 0;
		}
		
		if (_only_actual_y == 1) {
			if (end_year>_actual_y) {
				alert(_future_date)
				return 0;
			}
		} else {
			if (end_year!=_actual_y) {
				alert(_actual_year_only)
				return 0;
			}		
		}
	}

	return interval_date;
	
}


//funksioni hap popup, treen dhe mundesine per te selektuar item
function open_module_tree_for_selecting(nameF, nameH, nameHS, parametriThirrjes, uniqueid, action, case_function) {
	var form		= eval('document.'+nameF);
	value_item		= eval('form.'+nameH+'.value');

	if (parseInt(navigator.appVersion)>3) {
		if (navigator.appName=="Netscape") {
			var aplikw = window.innerWidth;
			var aplikh = window.innerHeight;
		}
		if (navigator.appName.indexOf("Microsoft")!=-1) {
			var aplikw = document.body.offsetWidth;
			var aplikh = document.body.offsetHeight;
		}
	}
		
	aplikw = aplikw - 800
	aplikh = aplikh - 460



	var open_win_setings = "toolbar=no,menubar=no,location=no,scrollbars=no,resizable=no,width=760,height=460,left="+aplikw+",top="+aplikh;
	w = window.open(TREE_POPUP+"?popup="+parametriThirrjes+"&nameF="+nameF+"&value_item="+value_item+"&nameHS="+nameHS+"&nameH="+nameH+"&action="+action+"&case_function="+case_function+"&mode=alone&uni="+uniqueid,"emriDritaresQeDoHapetMePopup",open_win_setings)
	w.focus(); 
	return false;
/*
	width = 760
	height = 460


	var url = TREE_POPUP+"?popup="+parametriThirrjes+"&nameF="+nameF+"&value_item="+value_item+"&nameHS="+nameHS+"&nameH="+nameH+"&action="+action+"&case_function="+case_function+"&mode=alone&uni="+uniqueid;
	var window1 = nameH
	window.showModelessDialog(url,window1,
		"dialogWidth:"+width+"px;dialogHeight:"+height+"px;edge:Raised;center:1;help:0;resizable:1;maximize:1");
*/


}



function isEmailAddress(theElement, theElementName) {
    var s = theElement.value;
    
    
    var filter=/^[A-Za-z][A-Za-z0-9_\-.]*@[A-Za-z0-9\-]+\.[A-Za-z0-9_.]+[A-za-z]$/;
    if (s.length == 0 ) return true;
    if (filter.test(s))  
         return true;
    else  
         alert(quickEditmesg5);
         
         
      theElement.focus(); 
      return false;
}



















function controll_begin_greater_than_end(insertDate, expireDate,_matri_bigger_than_document) {
	
		var date_regex_b = new RegExp("^[0-3][0-9][.][0-1][0-9][.][0-9]{4}$", "gi");	
		var date_regex_e = new RegExp("^[0-3][0-9][.][0-1][0-9][.][0-9]{4}$", "gi");	

		if (insertDate != '') {
			var begin_day 	= Number(insertDate.substr(0,2))
			var begin_month = Number(insertDate.substr(3,2))
			var begin_year 	= Number(insertDate.substr(insertDate.length - 4))
		}

		if (expireDate != '') {
			var end_day 	= Number(expireDate.substr(0,2))
			var end_month 	= Number(expireDate.substr(3,2))
			var end_year 	= Number(expireDate.substr(insertDate.length - 4))
		}

//alert(end_day+' -- '+end_month+' -- '+end_year+'\n'+begin_day+' -- '+begin_month+' -- '+begin_year)		

		if (begin_year > end_year || (begin_year == end_year && begin_month > end_month) || (begin_year == end_year && begin_month == end_month && begin_day > end_day)) {
			alert(_matri_bigger_than_document)
			return "stop";
		}
		
	return "go";
		
	
}
