function filterEvents(view_all){
    
    var url = '/admin/events/filter_list/';
    
    if(view_all != 'view_all'){
        var ds = '-';
        var start_date  = Form.Element.getValue('EventStartDateYear')+ds+Form.Element.getValue('EventStartDateMonth')+ds+Form.Element.getValue('EventStartDateDay');
        var end_date    = Form.Element.getValue('EventEndDateYear')+ds+Form.Element.getValue('EventEndDateMonth')+ds+Form.Element.getValue('EventEndDateDay');
        
        var data = 'start_date='+start_date+'&end_date='+end_date;
        new Ajax.Updater('filter_list', url,{postBody:data});
    }else{
        new Ajax.Updater('filter_list', url);
    }
}
function gallery_category_delete_image(id){
    var cont = confirm("Are you sure that you to permanently delete this image?");
    if(cont){
        document.body.style.cursor = "wait";
        var url = "/admin/gallery_categories/delete_gallery_image/"+id+"/";
        var myAjax = new Ajax.Request(url, {
            method: 'post', 
            parameters: '',
            onSuccess: function(originalRequest){
                $('image-container-' + id.toString()).style.display='none';
                document.body.style.cursor = "default";
            },
            onFailure: function(){}
        });
    }
}
function gallery_delete_image(id){
    url = "/admin/delete_gallery_image/"+id+"/";alert(url);
    new Ajax.Request(url, {method: 'post',onComplete: function(){}});
}
function gallery_delete_image(id){
    var cont = confirm("Are you sure that you want to permanently delete this image?");
    if(cont){
        document.body.style.cursor = "wait";
        var url = "/admin/places/delete_gallery_image/"+id+"/";
        var myAjax = new Ajax.Request(url, {
            method: 'post', 
            parameters: '',
            onSuccess: function(originalRequest){
                $('image-container-' + id.toString()).style.display='none';
                document.body.style.cursor = "default";
            },
            onFailure: function(){}
        });
    }
}

function updateAttributes(place_id,controller){
    var url = "/admin/"+controller+"/update_attributes/"+place_id+"/";
    var myAjax = new Ajax.Request(url, {
        method: 'post', 
        parameters: Form.serialize($('place_attributes'))
    });
}

function updatePaymentOptions(place_id){
    var url = "/admin/accommodation/update_payment_attributes/"+place_id+"/";
    var myAjax = new Ajax.Request(url, {
        method: 'post', 
        parameters: Form.serialize($('payment_options')),
        onSuccess: function(originalRequest){
            $('tmp').innerHTML = originalRequest.responseText;
        },
        onFailure: function(){}
    });
}

function setXY(xcoord,ycoord){
    $('map_location_x').value = xcoord;
    $('map_location_y').value = ycoord;
}

function updateFlashMap() {
    var place_id = $('place_id').value;
    var location = $('location_id').options[$('location_id').selectedIndex].value;
    var is_info  = 0;
    ($('is_info_on').checked)?is_info = 1:'';
    
    var url = "/admin/places/flash_map/";
    var myAjax = new Ajax.Request(url, {
        method: 'post',
        parameters: '&place_id='+place_id+'&location='+location+'&is_info='+is_info,
        onLoading: function(){ $('flash_map').innerHTML = '<img src="/img/spinner.gif" />'; },
        onSuccess: function(originalRequest){
            $('flash_map').innerHTML = originalRequest.responseText;
        }
    });
}

function updateLocationId(){
    var location_id = $('location_id').options[$('location_id').selectedIndex].value;
    var place_id = $('place_id').value;
    
    var url = "/admin/places/update_location_id/"+location_id+'/'+place_id;
    var myAjax = new Ajax.Request(url);
    updateFlashMap();
}

function hideFlash() {
    if (document.getElementById('flash')) {
        new Effect.Fade('flash', {'duration': 5});
    }
}

function toggleMapfields(){
    if($('is_info_on').checked){
        $('map_number').hide();
    }else{
        $('map_number').show();
    }
    updateFlashMap();
}

function showPlaceDescriptionForm(){
    $('place-description-view-div').style.display = 'none';
    $('place-description-form-div').style.display = 'block';
}
function savePlaceTypeDescription(text, place_type, controller_name){
    var place_url = "/admin/"+controller_name+"/save_place_type_description/";
    var myAjax = new Ajax.Request(place_url, { 
                    parameters: 'description='+text+'&place_type='+place_type,
                    method: 'post',
                    onSuccess: function(){
                               $('place-description-form-div').style.display = 'none';
                               $('place-description-view-div').style.display = 'block';
                               $('place_description_text').innerHTML = text;
                    }
    });
}

function selectAll(select_elm){
    for(var i=0, opt; opt = select_elm.options[i]; i++){
        opt.selected=true;
    }
}
function selectNone(select_elm){
    for(var i=0, opt; opt = select_elm.options[i]; i++){
        opt.selected=false;
    }
}
function logBannerImpressions(){
	
    var banners = document.getElementsByClassName('banner');
    for( var i=0, banner; banner=banners[i];i++){
        logImpression(banner.id);
    }

}
function logImpression(banner_id){
    var url = "/banners/log_impression/";
    var myAjax = new Ajax.Request(url, {
        method: 'post', 
        parameters: 'banner_id='+banner_id,
        onSuccess: function(originalRequest){
            writeToConsole(originalRequest.responseText);
        },
        onFailure: function(){}
    });
}

function logClickThrough(banner_id){
    var url = "/banners/log_click_through/";
        var myAjax = new Ajax.Request(url, {
            method: 'post', 
            parameters: 'banner_id='+banner_id,
            onSuccess: function(originalRequest){
                writeToConsole(originalRequest.responseText);
            },
            onFailure: function(){}
        });
}

function writeToConsole(text){
try{ 
    console.log(text); 
}catch(e){ 
    console = { log: function() {} } }
}
function setAdvancedSearch(){
    $('general_filter').style.display='none';
    $('advanced_filter').style.display='block';
}
function setGeneralSearch(){
    $('advanced_filter').style.display='none';
    $('general_filter').style.display='block';
}

//
//Gallery Functions
//
function showNextImageRow(){
    var rows = document.getElementsByClassName('image-row');
    var row_count = rows.length;
    
    for(var i=0,row;row=rows[i];i++){
        if(row.style.display=="block")break;
    }
    //alert(i);
    var visible_row = rows[i];
    
    var next_row = $((parseInt(visible_row.id)+1).toString());
    
    visible_row.style.display = "none";
    next_row.style.display = "block";
    
    if(next_row.id=='0'){
        $('thumb_nav_left').style.display = 'none';
        $('thumb_nav_right').style.display = 'block';
    }else{
        $('thumb_nav_left').style.display = 'block';
        $('thumb_nav_right').style.display = 'block';
    }
    if(parseInt(next_row.id)==(row_count -1)){
        $('thumb_nav_right').style.display = 'none';
        $('thumb_nav_left').style.display = 'block';
    }
    
    return false;
}

function showPreviousImageRow(){
    var rows = document.getElementsByClassName('image-row');
    var row_count = rows.length;
    
    for(var i=0,row;row=rows[i];i++){
        if(row.style.display=="block")break;
    }
    //alert(i);
    var visible_row = rows[i];
    
    
    var next_row = $((parseInt(visible_row.id)-1).toString());
    
    visible_row.style.display = "none";
    next_row.style.display = "block";
    
    if(next_row.id=='0'){
        $('thumb_nav_left').style.display = 'none';
        $('thumb_nav_right').style.display = 'block';
    }else{
        $('thumb_nav_left').style.display = 'block';
        $('thumb_nav_right').style.display = 'block';
    }
    if(parseInt(next_row.id)==(row_count -1)){
        $('thumb_nav_right').style.display = 'none';
        $('thumb_nav_left').style.display = 'block';
    }
    
    return false;
}

function swapImage(guid,desc,hres,lres,hsiz,lsiz){
	
	$('guid').innerHTML = "<img src='"+guid+"'>";
	$('desc').innerHTML = desc;
	$('hres').innerHTML = hres;
	$('lres').innerHTML = lres;
	$('hsiz').innerHTML = hsiz;
	$('lsiz').innerHTML = lsiz;

	return false;
}

function loadImage(image_id){
    var url = "/galleries/load_image/"+image_id;
   // var test = new Ajax.Updater(url, 'active-image');
    var test = new Ajax.Request(url, {
            method: 'post', 
            onSuccess: function(transport){
                $('active-image').innerHTML = transport.responseText;
            },
            onFailure: function(){}
    });//alert("after");
    return false;
}

function loadGallery(){
    var cat = $('category').options[$('category').selectedIndex].value;
    if(cat!=-1){
        self.location = '/about_franschhoek/image_gallery/' + cat;
    }
}
function toggle_enabled_rates(){
    var month = $('month_visiting').options[$('month_visiting').selectedIndex].value;
    if(month ==-1){
        $('rates_min').selectedIndex=0;
        $('rates_min').disabled = true;
        $('rates_max').selectedIndex=0;
        $('rates_max').disabled = true;
    }else{
        $('rates_min').disabled = false;
    }
}

function reset_rates_max(){
     var rates_min_value = $('rates_min').options[$('rates_min').selectedIndex].value;
     var rates_min = $('rates_min').options[$('rates_min').selectedIndex].text;
     if(rates_min_value !=-1){
        var url = "/accommodation/get_max_rates/"+rates_min.replace('R', '');
        var myAjax = new Ajax.Request(url, {
            method: 'post', 
            parameters: '',
            onSuccess: function(originalRequest){
                setSelectElements($('rates_max'),originalRequest.responseText);
                $('rates_max').disabled = false;
            },
            onFailure: function(){}
        });
     }else{
          $('rates_max').disabled = true;
     }
}
function setSelectElements(select_element, json_string){
    select_element.options.length = 0;
    var form_elements = json_string.evalJSON();
    for(var i=0, elem;elem = form_elements[i]; i++){
        select_element.options[i] = new Option(elem[1], elem[0]);
    }
}

function toggleVisibility(elem){
    $(elem).className = ($(elem).className=='visible')?'invisible':'visible';
    return false;
}

function reloadCalendar(month, year, elem, on_events_page){
    
    var url = '/events/calendar/' + month + '/' + year + '/';
    if(on_events_page==true){
        url = '/general/events_calendar/'+year+'-'+month+'-01/';
        self.location = url;
        return true;
    }
    var cal = new Ajax.Request(url, {
            method: 'post', 
            parameters: '',
            onSuccess: function(originalRequest){
               $(elem).innerHTML = originalRequest.responseText;
               return false;
            },
            onFailure: function(){}
        });
}
function signupNewsletter(){
    var name = $('newsletter_name').value;
    var email = $('newsletter_email').value;
    var country = $('newsletter_country').value;
    var url = '/places/signup_newsletter/';
    var nl = new Ajax.Request(url, {
            method: 'post', 
            parameters: 'name='+name+'&email='+email+'&country='+country,
            onSuccess: function(originalRequest){
               $('newsletter_feedback').innerHTML = originalRequest.responseText;
               $('newsletter_name').value = 'Your name';
               $('newsletter_email').value = 'Your email';
               $('newsletter_country').value = 'Your country';
            },
            onFailure: function(){}
        });
    return false;
}
/*
function createRTFPage(page_number){
    var url = "/write_rtf_page/"+pagenumber;
    var myAjaxCall = new Ajax.Request(url, {
        method: 'post', 
        parameters: ,
        onSuccess: createNextPage(page_number)
    });
}
function createNextPage(page_number){
     createRTFPage(page_number+1);
}
*/
function hideSelects(visibility){
    /*selects = document.getElementsByTagName('select');
    for(i = 0; i < selects.length; i++) {
        selects[i].style.visibility = visibility;
    }*/
}
function hideFlash(visibility){
    selects = document.getElementsByTagName('object');
    for(i = 0; i < selects.length; i++) {
     //   selects[i].style.visibility = visibility;
    }
}

function checkDatesVisibility(){
    var val = $('event_type_id').options[$('event_type_id').selectedIndex].value;
    if(val==2 || val==1){
        $('start-date').style.display="block";
        $('end-date').style.display="block";
    }else{
        $('start-date').style.display="none";
        $('end-date').style.display="none";
    }
}

function updateGalleryOrder()
{

}