// Start of ::  Refresh Screen **************************************************************************************
// 09/02/2007

	function submitform(fn){
		setProcessMessage();
		document.getElementById(fn).submit();
	}//submit form

// Same like Submit but with no DataBase Action
	function refresh(fn, field, value){
		setProcessMessage();
		document.getElementById(field).value=value;	
		document.getElementById(fn).submit();
	}
	
// Somethimg more universal
var parameter = new Object();
parameter = {name:"",value:""};

	function _refresh(fn, parameter_list){
		setProcessMessage();
		for (var i = 0; i < parameter_list.length; i++){
			parameter = parameter_list[i];
			if ( document.getElementById(parameter.name) ) document.getElementById(parameter.name).value=parameter.value;
		}//for	
		document.getElementById(fn).submit();
	}
	
	function _refreshOpener(fn, parameter_list){
		if ( opener != null ){
			var refresh = true;
			for (var i = 0; i < parameter_list.length; i++){
				parameter = parameter_list[i];
				if ( opener.document.getElementById(parameter.name) ){
					opener.document.getElementById(parameter.name).value=parameter.value;
				}else refresh = false;
			}//for	
			if ( refresh ) opener.document.getElementById(fn).submit();
		}//if ( opener != null )	
	}	
	
	
	function ldp(root, parameter_list){//load page - ldp
		var location = root;
		for ( var i = 0; i < parameter_list.length; i++ ){
			parameter = parameter_list[i];
			if ( i == 0 ) location += '?' + parameter.name + '=' + parameter.value;
			else location += '&' + parameter.name + '=' + parameter.value;
		}//for i
		window.location = location;
	}//load
	
	function LoadURL(url){//load page - ldp
		if ( url && url.length > 0 ) window.location = url;
	}//load
	
	function getFormNameLike(substr){
		var f = document.forms;
		var i = 0;
		while (  i < f.length ){
			if ( (f[i].name).indexOf(substr)>0 ) return f[i].name;
			i++; 
		}
		return "";
	}
	
	function openWindow(site_url, parameter_list){//load page - ldp
		var location = site_url;
		for ( var i = 0; i < parameter_list.length; i++ ){
			parameter = parameter_list[i];
			if ( i == 0 ) location += '?' + parameter.name + '=' + parameter.value;
			else location += '&' + parameter.name + '=' + parameter.value;
		}//for i
		window.open(location);
	}//load
	
	function submitFormFull(fn, formSettings, parameter_list){
	//	loading();
		setProcessMessage();
		var x = document.getElementById(fn); 
		if ( x ){
			for (var i = 0; i < formSettings.length; i++){
				var set = formSettings[i];
				if ( set.name == 'action' )	x.action = set.value;
				if ( set.name == 'method' ) x.method = set.value;
				if ( set.name == 'enctype' ) x.enctype = set.value;
				if ( set.name == 'target' ) x.target = set.value;
			}//for i
		}//if form
		for (var i = 0; i < parameter_list.length; i++){
			var parameter = parameter_list[i];
			if ( document.getElementById(parameter.name) ) document.getElementById(parameter.name).value=parameter.value;
		}//for	
		x.submit();
	}
	
// End of ::  Refresh Screen **************************************************************************************


// Begin for ::  setProcessMessage() *****************************************************************
// Jan 18, 2007
function setProcessMessage(){
	var div = document.getElementById('process_message');
	if ( div )
	{
		div.style.display = 'block';
		div.style.visibility = "visible";
		document.getElementById('process_message').innerHTML = '&nbsp;[&nbsp;Please wait ...&nbsp;]&nbsp;';
	}// if ( div )
}
// End for ::  setProcessMessage() *******************************************************************

// Begin for ::  Check Login and Validata Section *************************************************************************
var ar = new Array();
ar[0]	=	"0";	ar[1]	=	"1";	ar[2]	=	"2";	ar[3]	=	"3";	ar[4]	=	"4";	ar[5]	=	"5";	ar[6]	=	"6";	ar[7]	=	"7";	ar[8]	=	"8";	ar[9]	=	"9";
ar[10]	=	"q";	ar[11]	=	"w";	ar[12]	=	"e";	ar[13]	=	"r";	ar[14]	=	"t";	ar[15]	=	"y";	ar[16]	=	"u";	ar[17]	=	"i";	ar[18]	=	"o";	ar[19]	=	"p";
ar[20]	=	"a";	ar[21]	=	"s";	ar[22]	=	"d";	ar[23]	=	"f";	ar[24]	=	"g";	ar[25]	=	"h";	ar[26]	=	"j";	ar[27]	=	"k";	ar[28]	=	"l";	ar[29]	=	"z";
ar[30]	=	"x";	ar[31]	=	"c";	ar[32]	=	"v";	ar[33]	=	"b";	ar[34]	=	"n";	ar[35]	=	"m";	ar[36]	=	"Q";	ar[37]	=	"W";	ar[38]	=	"E";	ar[39]	=	"R";
ar[40]	=	"T";	ar[41]	=	"Y";	ar[42]	=	"U";	ar[43]	=	"I";	ar[44]	=	"O";	ar[45]	=	"P";	ar[46]	=	"A";	ar[47]	=	"S";	ar[48]	=	"D";	ar[49]	=	"F";
ar[50]	=	"G";	ar[51]	=	"H";	ar[52]	=	"J";	ar[53]	=	"K";	ar[54]	=	"L";	ar[55]	=	"Z";	ar[56]	=	"X";	ar[57]	=	"C";	ar[58]	=	"V";	ar[59]	=	"B";
ar[60]	=	"N";	ar[61]	=	"M";	ar[62]	=	".";	ar[63]	=	"-";	ar[64]	=	"_";

var val = false;

function delMultySpaces(input){
	var out = "";
	var tempch = "";
		for(var i=0; i < input.length; i++){
			var chr=input.charAt(i);
				if ( chr == " ") { 
					tempch = chr;
				}else{
						if ( tempch == " " ){
							out = out + tempch + chr;
							tempch = "";
						}else{
								out = out + chr;
						}//else
				}//else
		}//for i
	if ( out == " "){ out = ""; }
	return out;
} 

function ifCorrect(input,ar1){
		var ok = true;
		for(var i=0; i < input.length; i++){
			var chr=input.charAt(i);
			var found = false;
			for(var j=0; j < ar1.length; j++){
				if(chr==ar1[j]){ found = true; }
			}//for j
			ok = ok & found;
		}//for i
	return ok;
}

function ifDigit(input){
	var ar1 = new Array();
	ar1[0]	=	"0";
	ar1[1]	=	"1";
	ar1[2]	=	"2";
	ar1[3]	=	"3";
	ar1[4]	=	"4";
	ar1[5]	=	"5";
	ar1[6]	=	"6";
	ar1[7]	=	"7";
	ar1[8]	=	"8";
	ar1[9]	=	"9";
		var ok = true;
		if ( ifExist(input) ){
			for(var i=0; i < input.length; i++){
				var chr=input.charAt(i);
				var found = false;
				for(var j=0; j < ar1.length; j++){
					if(chr==ar1[j]){ found = true; }
				}//for j
				ok = ok & found;
			}//for i
		}else{ ok = false; }
	return ok;
}

function ifPhone(input){
	var ar1 = new Array();
	ar1[0]	=	"0";
	ar1[1]	=	"1";
	ar1[2]	=	"2";
	ar1[3]	=	"3";
	ar1[4]	=	"4";
	ar1[5]	=	"5";
	ar1[6]	=	"6";
	ar1[7]	=	"7";
	ar1[8]	=	"8";
	ar1[9]	=	"9";
	ar1[10]	=	"(";
	ar1[11]	=	")";
	ar1[12]	=	"-";
		var ok = true;
		if ( ifExist(input) ){
			for(var i=0; i < input.length; i++){
				var chr=input.charAt(i);
				var found = false;
				for(var j=0; j < ar1.length; j++){
					if(chr==ar1[j]){ found = true; }
				}//for j
				ok = ok & found;
			}//for i
		}else{ ok = false; }
	return ok;
}


function isMatch(pass1, pass2){
	match = false;
	if ( pass1 == pass2 ){ match = true; }
	return match;
}

function ifExist(input){
	var exist = true;
	if ( ! input || delMultySpaces(input) == "" ){
		exist = false;
	}
	return exist;
}

function check_length(input, len){
	var ok = true;
	if( input.length < len ){
		ok = false;
	}
	return ok;
}

function check_email(input){
	ar_email = new Array()
		ar_email[1] = "%";
		ar_email[2] = "'";
		ar_email[3] = "!";
		ar_email[4] = "#";
		ar_email[5] = "$";
		ar_email[6] = "^";
		ar_email[7] = "*";
		ar_email[8] = "(";
		ar_email[9] = ")";
		ar_email[10] = "=";
		ar_email[11] = "+";
		ar_email[12] = "`";
		ar_email[13] = "~";
		ar_email[14] = ",";
		ar_email[15] = "<";
		ar_email[16] = ">";
		ar_email[17] = "/";
		ar_email[18] = "?";
		ar_email[19] = ";";
		ar_email[20] = ":";
		ar_email[21] = "{";
		ar_email[22] = "|";
		ar_email[23] = "}";
		ar_email[24] = "[";
		ar_email[25] = "]";
	var ok = true;
	if( ifExist(input) ){
		if(input.indexOf('@',0)==-1){
			// no @ simbol in email address
			ok = false;
		}else{
				if ( ifWrongSymbolFound(input,ar_email) ){
					// there is wrong simbol in the email address
					ok = false;
				}//if	
		}//else
	}else { ok = false; }//if
	return ok;
}
	
function ifWrongSymbolFound(input,ar1){
		var ok = false;
		for(var i=0; i < input.length; i++){
			var chr=input.charAt(i);
			for(var j=1; j < ar1.length; j++){
				if(chr==ar1[j])ok=true;
			}//for j
		}//for i
	return ok;
}

function check_field(input, field, ln){
	logo = false;
	if ( ifExist(input) ){
	//	if ( ifCorrect(input, ar) ){
			if ( ! check_length(input, ln) ){ 
				alert(field + " is not long enough.\n"); 
				logo = true;
			}
	//	}else{
	//		alert("You have incorrect symbols in your " + field + ".\n");
	//		logo = true;
	//	}//else
	}else{
			alert("You did not enter a " + field + ".\n");
			logo = true;
	}//else
	return logo;
}

function validate_login(uname, pass){
	val = false;
	if( check_field(document.getElementById(uname).value, "User name", 5) ){document.getElementById(uname).focus()}
	else{
			if( check_field(document.getElementById(pass).value, "Password", 8) ){
		 		 	document.getElementById(pass).focus(); 
					document.getElementById(pass).value="";
			}else{val = true;}
	}
}

function validate(uname, pass){
	validate_login(uname, pass);
	return val;
}
// End for ::  Check Login and Validaye Section *************************************************************************



// Start of ::  HideAll ******************************************************************************
function ShowHideAll( fname, name, show){
	var form = document.getElementById(fname);
	
	if ( form ){
		for( var key = 0; key < form.elements.length; key++ ){
			if ( (form.elements[key].name).indexOf(name) > -1 ){
				form.elements[key].checked=show;
				var row = document.getElementById('table_row_' + form.elements[key].value);
				if ( row ){
					if ( show ) row.className = 'DATA_TABLE_ROW_OVER';
					else row.className = 'DATA_TABLE_ROW';
				}// if row
			}// if	form.elements[key].name
		}// for kek
	}// if
}

// Start of ::  openFile +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 01/15/2007
	function openFile(root, name){
		if ( name ){
			window.location="../com/download.jsp?file=" + name + "&root=" + root;
		}else alert("There is not file selected !");
	//	editFile( "" );
	}
	
	function _openFile(root, name, pathIsRelativeToUserName){
		if ( name ){
			window.location="../com/download.jsp?file=" + name + "&root=" + root + "&pathIsRelativeToUserName=" + pathIsRelativeToUserName;
		}else alert("There is not file selected !");
	//	editFile( "" );
	}
	
	function openFileRelativeTo(root, name, pathIsRelativeToUserName, pathIsRelativeToReportDirectory){
		if ( name ){
			window.location="../com/download.jsp?file=" + name + "&root=" + root + "&pathIsRelativeToUserName=" + pathIsRelativeToUserName + "&pathIsRelativeToReportDirectory=" + pathIsRelativeToReportDirectory;
		}else alert("There is not file selected !");
	//	editFile( "" );
	}
	
// End of ::  openFile ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

// Begin of ::  Send Mail *************************************************************************************
// Jan 20, 2007
function openSendMail(_popup_window_name, filename){
	if ( filename ){
		newwin = window.open("../view/_popup_sendmail.jsp?popup_window_name=" + _popup_window_name + "&filename=" + filename ,"_blank","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no,width=600,height=450");
	}else alert("There is not file selected !");
}//openFAQ
// End of ::  Send Mail ***************************************************************************************


// CODE - DECODE Functions *****************************************************************
function code(str){
	var s = str.replace(/[\']/g,"<SQ>");
	s = s.replace(/[\"]/g,"<DQ>");
	s = s.replace(/[\0]/g,"<NULL>");
	s = s.replace(/[\t]/g,"<TAB>");
	s = s.replace(/[\n]/g,"<NL>");
	s = s.replace(/[\f]/g,"<FF>");
	s = s.replace(/[\r]/g,"<CR>");
	s = s.replace(/[&]/g,"<AND>");
	s = s.replace(/[&&]/g,"<AND2>");
	return s;
}

function decode(str){
	var s = str.replace(/<SQ>/gi,'\'');
	s = s.replace(/<DQ>/gi,'\"');
	s = s.replace(/<NULL>/gi,'\0');
	s = s.replace(/<TAB>/gi,'\t');
	s = s.replace(/<NL>/gi,'\n');
	s = s.replace(/<FF>/gi,'\f');
	s = s.replace(/<CR>/gi,'\r');
	s = s.replace(/<AND>/gi,'&');
	s = s.replace(/<AND2>/gi,'&&');
	return s;
}
// CODE - DECODE Functions *****************************************************************
// Show Picture
function ShowPicture(div, file, gallery_show, gallery_hide)
{
	var d = document.getElementById(div);
	if ( d )
	{
		if ( file.length > 0 )
		{
			d.innerHTML = "<img width=\"500\" border=\"1\" src=\"../com/getPicture.jsp?root=image_database&subdir=/pics/project&file=" + file + "&default=default.png\">";
			var show = document.getElementById(gallery_show);
			var hide = document.getElementById(gallery_hide);
			if ( show )
			{
				show.style.textDecoration = 'underline';
				show.style.color = 'blue';
			}	
			if ( hide )
			{
				hide.style.textDecoration = 'none';
				hide.style.color = '#66697F';
			}
		}
	}
}
// Show Picture

