function reloadPage(){
	window.location.reload();
}
//**********************************
function setMessage(text, type){
	$('message').update(text);
	if(type == "error"){
		$('message').setStyle({ 'color' : '#f00' });
	} else if(type=="info"){
		$('message').setStyle({	'color' : '#060' });
	}
}
function getUrl(uri){
 //document.location.href = base_site_path + uri;   
    if(redirectPage == null){ 
       document.location.href = base_site_path + uri;
    } else {
       $("redirectContextID").value =  redirectContextID;
       $("redirectReservationForm").submit();
    }
}
//**********************************
function loginFront(username, password){
    var parameters = "username="+username+"&password="+password;
    var path = base_site_path + "user/login"
      new Ajax.Request(path, { method:'post',  parameters: parameters, 
          onSuccess: function(transport, json){
            var res = transport.responseText;
            if(res == 1){
                getUrl("index"); 
            } else {
                alert(res)    
            }
        }
    }
  );
}
function logoutFront(){
    var path = base_site_path + "user/logout";
      new Ajax.Request(path, { method:'post',  parameters: null, 
          onSuccess: function(transport, json){
            var res = transport.responseText;
            if(res == 1){
                document.location.href = base_site_path + "index";
            } else {
                  //setMessage(res, "error");
            }
        }
    }
  );
}
function login(username, password, redirect){
    var parameters = "username="+username+"&password="+password;
    var path = "user/login"
      new Ajax.Request(path, { method:'post',  parameters: parameters, 
          onSuccess: function(transport, json){
            var res = transport.responseText;
            if(res == 1){
                var url = redirect != null ? redirect : "admin";
                document.location.href = redirect;
            } else {
                  setMessage(res, "error");
            }
        }
    }
  );
}
function logout(){
    var path = "user/logout";
      new Ajax.Request(path, { method:'post',  parameters: null, 
          onSuccess: function(transport, json){
            var res = transport.responseText;
            if(res == 1){
                document.location.href = base_site_path + "user";
            } else {
                  setMessage(res, "error");
            }
        }
    }
  );
}
//**********************************
function fillFormFromRecord(record) {
	for (var field in record.getData() ) {
		if ( $(field)==null ) continue;
		////
		switch ( typeComplete($(field)) ) {
			case "INPUT/CHECKBOX":
				$(field).checked=($(field).value==record.getData(field));
				break;
			case "INPUT/RADIO":
				var radios=document.getElementsByName(field);
				for (var i=0; i<=radios.length-1; i++) {
					radios[i].checked=(radios[i].value==record.getData(field));
				}
				break;
			default:
				$(field).value=record.getData(field);
		}
	}
}
//**********************************
function fillFormFromHash(hash) {
	for (var field in hash ) {
		if ( $(field)==null ) continue;
		////
		switch ( typeComplete($(field)) ) {
			case "INPUT/CHECKBOX":
				$(field).checked=($(field).value==hash[field]);
				break;
			case "INPUT/RADIO":
				var radios=document.getElementsByName(field);
				for (var i=0; i<=radios.length-1; i++) {
					radios[i].checked=(radios[i].value==hash[field]);
				}
				break;
			default:
				$(field).value=hash[field];
		}
	}
}
//**********************************
function fillStaticFormFromRecord(record) {
	for (var field in record.getData() ) {
		if ( $(field)==null ) continue;
		try {
			$(field).innerHTML=record.getData(field);
		}
		catch (e) {}
	}
}
//**********************************
function fillStaticFormFromHash(hash) {
	for (var field in hash ) {
		if ( $(field)==null ) continue;
		try {
			$(field).innerHTML=hash[field];
		}
		catch (e) {}
	}
}
//**********************************
function typeComplete(element) {
	var tagName=element.tagName.toUpperCase();
	if ( tagName!="INPUT" ) return tagName;
	////
	return "INPUT/"+element.type.toUpperCase();
}
//**********************************
function clearDataContainer(container) {
	var elements=new Array();
	elements[0]=container.getElementsByTagName("INPUT");
	elements[1]=container.getElementsByTagName("SELECT");
	elements[2]=container.getElementsByTagName("TEXTAREA");
	////
	for (var i=0; i<=2; i++) {
		for (var j=0; j<=elements[i].length-1; j++) {
			var element=elements[i][j];	
			switch ( typeComplete(element) ) {
				case "INPUT/CHECKBOX":
					element.checked=false;
					break;
				case "INPUT/RADIO":
					element.checked=(element.id!="");
					break;
				case "SELECT":
					element.selectedIndex=0;
					break;
				case "INPUT/TEXT":
				case "INPUT/PASSWORD":
				case "TEXTAREA":
					element.value="";
					break;
			}
		}
	}
}
//**********************************
function checkValidation(ids) {
	for (var i=0; i<=ids.length-1; i++) {
		if ( $(ids[i]).value=="" ) return false;
	}
	////
	return true;
}
//**********************************
function getRequest(dataForm) {
	return $(dataForm).serialize();
}
//**********************************
function loadContantPage(page){
    document.location.href = base_site_path + page;
    //alert(base_site_path + page);
} 
//**********************************
function createDropdownFromData(id, dataSource, valueField, textFields, textTemplate) {
	$(id).innerHTML="";	
	////
	for (var i=0; i<=dataSource.length-1; i++) {
		var option=document.createElement("OPTION");
		option.value=dataSource[i][valueField];
		////
		var text=textTemplate;
		for (var j=0; j<=textFields.length-1; j++)
		{
			var textField=textFields[j];
			var fieldValue=dataSource[i][textField];
			text=text.replace("{"+textField+"}", fieldValue);
		}
		option.text=text;
		////
		$(id).options.add(option);
	}
} 
//**********************************
function initUpload(record, module){
    var id = record.getData('id');
    $('uploadFrame').src = "image?module=" + module + "&id="+id; 
}
function initUploadOne(record, module){
    var id = record.getData('id');
    $('uploadFrameOne').src = "image/initUploadOne?module=" + module + "&id="+id; 
}
function initUploadUser(id){
    $('uploadFrameOne').src = "image/initUploadOne?module=" + "user" + "&id="+id; 
}
function initUploadDeadline(id){
    $('uploadFrame').src = "image?module=" + "deadline" + "&id="+id; 
}
//**********************************
function daysInMonth(year, month) {
	if ( month!=2 ) return 30+(Math.floor(month/8)+(month%2))%2;
	return isLeapYear(year)?29:28;
}
//**********************************
function isLeapYear(year) {
	return (year%400==0) || ((year%4==0) && (year%100!=0));
}
//**********************************
function getEnglishDate(id){
	var Matches=$(id).value.match(/\d+/g);
	////
	var day=(Matches[0]*1<=9)?"0"+Matches[0]:Matches[0];
	var month=(Matches[1]*1<=9)?"0"+Matches[1]:Matches[1];
	var year=Matches[2];
	////
	return year+"-"+month+"-"+day;
}
//**********************************
function openNewWindow(uri, w, h){
    var attributes="toolbar=no, location=no, status=yes, menubar=0, scrollbars=yes, resizable=yes, ";
    attributes+="left=300, top=200, height=" + h + " , width= " + w;
    window.open(base_site_path + uri, "new", attributes);
    return;
}

function generateUsername(){
    var firstName = $("firstName").value;
    var lastName = $("lastName").value;
    firstName = firstName.replace(/\s+$/,"");
    lastName = lastName.replace(/\s+$/,""); 
    var username = firstName + "-" +  lastName + "-" + Math.floor((Math.random() * 999 + 1));
    $("username").value = username;
}
//************ E-Mail ***************************  
function UnCryptMailto( s ) {
    var n = 0;
    var r = "";
    for( var i = 0; i < s.length; i++) {
        n = s.charCodeAt( i );
        if( n >= 8364 ){
            n = 128;
        }
        r += String.fromCharCode( n - 1 );
    }
    return r;
}
function linkTo_UnCryptMailto( s ) {
    location.href=UnCryptMailto( s );
}
//**********************************
function getMobile(mobile) {
	if ( mobile=="" ) return "";
	////
	mobile=mobile.replace(/\D+/g, "");
	if ( mobile.substring(0, 1)!="0" ) {mobile="0"+mobile;}
	////
	return mobile;
	/*
	if ( mobile.length<=4 ) return mobile;
	return mobile.substring(0, 4)+" "+mobile.substring(4, mobile.length);
	*/
}
//**********************************
function getPressImages(src){
  var ext = src.split(".")[1];
  var uri
  if(ext == "pdf"){
    uri = "images/press/" + src; 
  } else {
    uri = "press/showImage?src=" + "images/press/" + src; 
  }
  openNewWindow(uri, 840, 600);
}

