<!--
function LetterCounter( field, maxlimit ) {
	if ( field.value.length > maxlimit ) {
		field.value = field.value.substring( 0, maxlimit );
		return false;
	}else{
		return true;
	}
	
}

function WindowOpen( name ) {
	
	var nm = name.split(".");
	window.open( name, nm[0], 'menubar=no,toolbar=no,dependent=yes,height=800,width=950,resizable=yes,status=no,top=0,left=0,scrollbars=yes,copyhistory=no' );
	
}

function CheckChildren(elem) {
	
	var form = document.getElementById("CountriesForm");
	var elems = form.elements;
	for( var i=0; i<elems.length; i++){
		if( elems[i].tagName.toLowerCase() == "input" && elems[i].id.indexOf(elem.id) > -1 && elems[i] != elem ) {
			var box = elems[i];
			if( box.type == "checkbox" ) {
				box.checked = true;
			}
		}
	}
	
}

function UnCheckParent(elem) {
	
	var form = document.getElementById("CountriesForm");
	var elems = form.elements;
	var chunks = elem.id.split(":");
	var parentid = chunks[0]+":"+chunks[1];
	for( var i=0; i<elems.length; i++){
		if( elems[i].tagName.toLowerCase() == "input" && elems[i].id == parentid && elem.checked == false ) {
			elems[i].checked = false;
		}
	}
	
}


function SaveCountries(field,lang) {
	
	var hdnCodes = window.opener.document.getElementById( "hdnCodes"+field );
	var span = window.opener.document.getElementById( "span"+field );
	hdnCodes.value = "";
	var newspan = "";
	
	var cForm = document.CountriesForm;
	for( var i=0; i < cForm.elements.length; i++ ) {
		var elem = cForm.elements[i];
		if( elem.tagName.toLowerCase() == "input" ) {
			if( elem.type == "checkbox" ) {
				if( elem.checked ) {
					hdnCodes.value += elem.value+",";
					if( elem.id == "world" ) {
						newspan += ( lang == 'pl' ? "Podróż dookoła świata, " : "Travel around the world, " );
					}else{
						newspan += elem.name+", ";
					}
				}
			}
		}
	}
	hdnCodes.value = hdnCodes.value.substring(0,(hdnCodes.value.length-1));
		
	span.innerHTML = newspan.substring(0,(newspan.length-2));
		
	return window.close();
	
}


function LoadCountries(field)
{
	var openercountries = window.opener.document.getElementById("hdnCodes"+field);
	var cForm = document.CountriesForm;
	var boxcounter = 0;
	var coboxes = Array();
	for( var i=0; i < cForm.elements.length; i++ ) {
		var elem = cForm.elements[i];
		if( elem.tagName.toLowerCase() == "input" ) {
			if( elem.type == "checkbox" ) {
				if( openercountries.value.indexOf(elem.value) > -1 ) {
					coboxes[boxcounter] = elem.value;
					elem.checked = true;
					boxcounter++;
				}
			}
		}
	}
}

function SubmitForm(elem, formname)
{
	var form = document.getElementById(formname);
	form.submit();
}

function ShowHideDetails( id)
{
	var DShort = document.getElementById("DescShort_"+id);
	var DFull = document.getElementById("DescFull_"+id);
	var Galleries = document.getElementById("Galleries_"+id);
	if( DShort.style.display == "block" ) {
		DShort.style.display = "none";
		DFull.style.display = "block";
		if( Galleries != null ) Galleries.style.display = "block";
	}else if( DShort.style.display == "none" ) {
		DShort.style.display = "block";
		DFull.style.display = "none";
		if( Galleries != null ) Galleries.style.display = "none";
	}
	
}

function ShowForm(id)
{
	var Form = document.getElementById(id);
	var FID = Form.id.split("_");
	var ActionForms = document.getElementById("ActionForms_"+FID[1]);
	Form.style.display = "block";
	for( var i=0; i< ActionForms.childNodes.length; i++ )
	{	
		var childNode = ActionForms.childNodes[i];
		if( childNode.id != null )
			if( childNode.id.indexOf("FormDiv_"+FID[1]) != -1 )
				if( childNode.id != Form.id )
					childNode.style.display = "none";
	}
}

function ReplaceInvalid( value, pattern ) {
	
	value = value.replace( pattern, '' );
	return value;
	
}

function BuildPattern( check, action, min, max ) {
	
	var checkpattern = "";
	var replacepattern = "";
	switch( check ) {
		case "Bool" :
			checkpattern = "^[01]{1}$"; break;
		case "Numeric" :
			checkpattern = "^[0-9]{"+min+","+max+"}$"; break;
		case "Float" :
			checkpattern = "^[0-9\.\,]{"+min+","+max+"}$"; break;
		case "Date" :
			checkpattern = "^(20)[0-9]{2}-(01|02|03|04|05|06|07|08|09|10|11|12)-[0-9]{1,2}$"; break;
		case "File" :
			checkpattern = "^[_\\\-\./\\\\,:;?() a-zA-Z0-9%ąćęłńóśźżĄĆĘŁŃÓŚŹŻ]{"+min+","+max+"}$"; break;
		case "Alpha" :
			checkpattern = "^[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ ]{"+min+","+max+"}$"; break;
		case "AlphaNumeric" :
			checkpattern = "^[0-9 a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ ]{"+min+","+max+"}$"; break;
		case "Password" :
			checkpattern = "(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{"+min+","+max+"})"; break;
		case "Phone" :
			checkpattern = "^00[0-9]{"+min+","+max+"}( w. [0-9]+)*$"; break;
		case "Mobile" :
			checkpattern = "^00[0-9]{"+min+","+max+"}$"; break;
		case "Email" :
			checkpattern = "^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+\.[a-zA-Z]{2,3}$"; break;
		case "WWW" :
			checkpattern = "^(http://)[_\\\-\.?&/a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ]{"+min+","+max+"}$"; break;
		case "Postcode" :
			checkpattern = "^[0-9a-zA-Z\- ]{"+min+","+max+"}$"; break;
		case "Location" :
			checkpattern = "^[a-zA-Z0-9ąćęłńóśźżĄĆĘŁŃÓŚŹŻ /\.\\\-\"]{"+min+","+max+"}$"; break;
		case "LocationStrict" :
			checkpattern = "^[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ \\\-\.]{"+min+","+max+"}$"; break;
		case "StandardText" :
			checkpattern = "^[_\\\-\"\'\./\\\\,:;%*?!()|{}\\\[\\\]&+=\$#<> a-zA-Z0-9%ąćęłńóśźżĄĆĘŁŃÓŚŹŻ\t\f\r]{"+min+","+max+"}$"; break;
		case "StandardTextMultiLine" :
			checkpattern = "^[_\\\-\"\'\./\\\\,:;%*?!()|{}\\\[\\\]&+=#<> a-zA-Z0-9%ąćęłńóśźżĄĆĘŁŃÓŚŹŻ\n\s\t\f\r]{"+min+","+max+"}$"; break;
		case "StrictText" :
			checkpattern = "^[\\\-\"\', a-zA-Z0-9ąćęłńóśźżĄĆĘŁŃÓŚŹŻ]{"+min+","+max+"}$"; break;
	}
	
	if( action == "replace" ) {
		return replacepattern;
	}else{
		return checkpattern;
	}
	
}

function ValidField( value, check, min, max ) {
	
	var pattern = BuildPattern( check, "check", min, max );
	var re = new RegExp( pattern );
	
	if( !re.test( value ) ) {
		return false;
	}else{
		return true;
	}
	
}

function FormCheck( form ) {
	
	var checked = true;
	var lblUser = document.getElementById( "lblUser" );
	var errmess = "";
	var b = "";
	var arrFieldsToCheck;
	
	if( form.name == "TravellerSearch" ) {
		
		arrFieldsToCheck = new Array( 
			new Array( "UserBeen", "Alpha", 4, 6, 1, "" ), 
			new Array( "UserWantBe", "Alpha", 4, 6, 1, "" ), 
			new Array( "hdnCodesTravel", "StrictText", 2, 700, 1, "" )
		);
		
	}
	
	var strFieldsLength = arrFieldsToCheck.length;
	for( var f=0; f < strFieldsLength; f++ ) {
	
		var FieldName = arrFieldsToCheck[f][0];
		var FieldCheck = arrFieldsToCheck[f][1];
		var FieldMin = arrFieldsToCheck[f][2];
		var FieldMax = arrFieldsToCheck[f][3];
		var FieldRequired = ( arrFieldsToCheck[f][4] == 1 ) ? true : false;
		var FieldCaption = ( arrFieldsToCheck[f][5] ) ? arrFieldsToCheck[f][5] : FieldName;
		
		//var field = ( FieldName != "Mode" && FieldName != 'OpisDlugi' && FieldName != 'Pakiet' && FieldName != 'Start' ) ? document.getElementById( FieldName ) : "";
		var field = document.getElementById( FieldName );
		
		//var tag = ( FieldName != "Mode" && FieldName != 'OpisDlugi' && FieldName != 'Pakiet' && FieldName != 'Start' ) ? field.tagName.toLowerCase() : "";
		var tag = field.tagName.toLowerCase();
		var value = field.value;
		var label = document.getElementById( "lbl"+FieldName );
		
		//if( value != "" && ( FieldCheck == "StandardText" || FieldCheck == "StandardTextMultiLine" ) ) {
		//	field.value = ReplaceInvalid( value, /[^,:;%*?!()|\'\.\"\-&+=#<>%ąćęłńóśźżĄĆĘŁŃÓŚŹŻ\w\n\s\r\t\f\/]/g );
		//	value = field.value;
		//}
		
		//if( value != "" && FieldCheck == "StrictText" ) {
		//	field.value = ReplaceInvalid( value, /[^\'\"\-,a-zA-Z0-9ąćęłńóśźżĄĆĘŁŃÓŚŹŻ\s]/g );
		//	value = field.value;
		//}
		
		if( FieldName == "UserBeen" ) {
			var fldWantBe = document.getElementById("UserWantBe");
			if( !field.checked && !fldWantBe.checked ) {
				lblUser.style.color = "#CC3300";
				lblUser.style.fontWeight = "bold";
				checked = checked&&false;
			}else{
				lblUser.style.color = "#000000";
				checked = checked&&true;
			}
		
		//alert(checked + lblUser.style.color);
		}else if( tag == "select" ) {
			
			/*var krajValue;
			if( document.getElementById( "Kraj" ) != null ) {
				krajValue = document.getElementById( "Kraj" ).options.selectedIndex;
				if( FieldName == "Wojew" && krajValue != "1" ) FieldRequired = false;
			}
			
			if( FieldRequired ) {
			
				if( value == "" || value == "0" ) {
					errmess += "Pole " + FieldCaption + " jest wymagane|";
					label.style.color = "#CC3300";
				}else if( value != '' && !ValidContent( value, FieldCheck ) ) {
					errmess += "Pole " + FieldCaption + " nie może zawierać niedozwolonych danych (<a href='http://www.edu.edu.pl/terms.php5#Par3.10' target='_blank'>Regulamin par 3 pkt 10</a>)|";
					label.style.color = "#CC3300";
				}else if( !ValidField( value, FieldCheck, FieldMin, FieldMax ) ) {
					errmess += "Pole " + FieldCaption + " jest wypełnione niepoprawnie|";
					label.style.color = "#CC3300";
				}else{
					label.style.color = "#336633";
				}
				
			}else{
					label.style.color = "#336633";
			}*/
		
		}else if( tag == "input" && field.id != "UserWantBe" ) {
			
			var type = field.type.toLowerCase();
		
			if( type == "text" || type == "hidden" || type == "file" || type == "password" ) {
				
				if( FieldRequired ) {
				
					if( value == "" ) {
						label.style.color = "#CC3300";
						label.style.fontWeight = "bold";
						if( label.id == "lblhdnCodesTravel" ) {
							//alert(lblUser);
							lblUser.style.color = "#CC3300";
							lblUser.style.fontWeight = "bold";
						}
						checked = checked&&false;
					}else if( !ValidField( value, FieldCheck, FieldMin, FieldMax ) ) {
						label.style.color = "#CC3300";
						label.style.fontWeight = "bold";
						checked = checked&&false;
					}else{
						if( label.tagName.toLowerCase() == "a" ) {
							label.style.color = "#1F64AA";
							label.style.fontWeight = "normal";
							if( label.id == "lblhdnCodesTravel" ) {
								lblUser.style.color = "#000000";
								lblUser.style.fontWeight = "normal";
							}
						}else{
							label.style.color = "#000000";
							label.style.fontWeight = "normal";
						}
						checked = checked&&true;
					}
		
		//alert( label.tagName );
				
				}else{
				
					if( value != "" && !ValidField( value, FieldCheck, FieldMin, FieldMax ) ) {
						label.style.color = "#CC3300";
						label.style.fontWeight = "bold";
						checked = checked&&false;
					}else{
						label.style.color = "#000000";
						label.style.fontWeight = "normal";
						checked = checked&&true;
					}
				}
				
			}else if( type == "checkbox" ) {
				
				/*lblcolor = "#000000";
				
				if( value != '' && ( !ValidContent( value, FieldCheck ) || !ValidNoPhone( value, FieldCheck ) ) ) {
					errmess += "Pole " + FieldCaption + " nie może zawierać niedozwolonych danych (<a href='http://www.edu.edu.pl/terms.php5#Par3.10' target='_blank'>Regulamin par 3 pkt 10</a>)|";
					label.style.color = "#CC3300";
				}else if( FieldRequired ) {
					
					if( !field.checked ) {
						errmess += "Pole " + FieldCaption + " jest wymagane|";
						label.style.color = "#CC3300";
					}else{
						label.style.color = lblcolor;
					}
					
				}else{
				
					if( field.checked && !ValidField( value, FieldCheck, FieldMin, FieldMax ) ) {
						errmess += "Pole " + FieldCaption + " jest wypełnione niepoprawnie lub przekroczyło dozwoloną długość|";
						label.style.color = "#CC3300";
					}else{
						label.style.color = lblcolor;
					}
		
				}*/
				
			}
			
		}else if( tag == "textarea" ) {
			
			/*if( value != '' && ( !ValidContent( value, FieldCheck ) || !ValidNoPhone( value, FieldCheck ) ) ) {
				errmess += "Pole " + FieldCaption + " nie może zawierać niedozwolonych danych (<a href='http://www.edu.edu.pl/terms.php5#Par3.10' target='_blank'>Regulamin par 3 pkt 10</a>)|";
				label.style.color = "#CC3300";
			}else if( value != '' && !ValidCapitalics( value, FieldCheck, FieldCaption ) ) {
				errmess += "Pole " + FieldCaption + " - tekst nie powinien być pisany w większości kapitalikami|";
				label.style.color = "#CC3300";				
			}else if( FieldRequired ) {
				
				if( value == "" ) {
					errmess += "Pole " + FieldCaption + " jest wymagane|";
					label.style.color = "#CC3300";
				}else if( value != "" && !ValidField( value, FieldCheck, FieldMin, FieldMax ) ) {
					errmess += "Pole " + FieldCaption + " jest wypełnione niepoprawnie lub przekroczyło dozwoloną długość|";
					label.style.color = "#CC3300";
				}else{
					label.style.color = "#336633";
				}
				
			}else{
				
				if( value != "" && !ValidField( value, FieldCheck, FieldMin, FieldMax ) ) {
					errmess += "Pole " + FieldCaption + " jest wypełnione niepoprawnie lub przekroczyło dozwoloną długość|";
					label.style.color = "#CC3300";
				}else{
					label.style.color = "#336633";
				}
	
			}*/

		}
		
		//if( FieldName == "Poczta1" && value != "" && value != document.getElementById("Poczta").value ) {
			
		//	errmess += "Niepoprawnie powtórzony adres e-mail|";
		//	label.style.color = "#CC3300";		
			
		//}

		
	}

	// Formularz wypelniony niepoprawnie - komunikat
	/*if( checked ) {
	
		return false;
		
	}else{
		
		return true;
		
	}*/
	
	return checked;
}


function UA()
{
	var appName = navigator.appName;
	var appVersion = navigator.appVersion;
	var userAgent = navigator.userAgent;
	
	var browser = "";
	if( userAgent.indexOf("Opera") >= 0 ) { browser = "O"; }
	if( userAgent.indexOf("Firefox") >= 0 ) { browser = "FF"; }
	if( userAgent.indexOf("MSIE") >= 0 ) { browser = "IE"; }
	if( userAgent.indexOf("Safari") >= 0 ) { browser = "S"; }
	if( userAgent.indexOf("Chrome") >= 0 ) { browser = "CH"; }
	return browser;
}


function BrVersion()
{	
	var browser = UA();
	var version = "";
	var arrBrowser = new Array();
	if( browser == "FF" ) {
		arrBrowser = navigator.userAgent.split(" ");
		version = arrBrowser[arrBrowser.length-1].replace("Firefox/","");
	}else if( browser == "S" ) {
		arrBrowser = navigator.userAgent.split(" ");
		version = arrBrowser[arrBrowser.length-2].replace("Version/","");
	}else if( browser == "IE" ) {
		arrBrowser = navigator.userAgent.split("; ");
		version = arrBrowser[1].replace("MSIE ","");
	}else if( browser == "CH" ) {
		arrBrowser = navigator.userAgent.split(" ");
		version = arrBrowser[arrBrowser.length-2].replace("Chrome/","");
	}else if( browser == "O" ) {
		arrBrowser = navigator.userAgent.split(" ");
		version = arrBrowser[0].replace("Opera/","");
	}
	return version;
}
//-->

