var USER_CAL_IMAGE = "images/calendar/2.jpg"; //default image
var CALENDAR_ID = null;
var ROOT = "http://" + window.location.toString().split("//")[1].split("/")[0] + "/";

/*function textCounter(field, cntfield, maxlimit) {
    if (field.value.length > maxlimit) {
        field.value = field.value.substring(0, maxlimit);
        alert('Max lenght of Short Description is 150 characters. You have typed ' + field.value.length + ' charachters.');
    } else {
        cntfield.value = maxlimit - field.value.length;
    }
}*/
function event_type(val) {
    var browserName = navigator.appName;
    if (document.getElementById('free2').checked) {
        if (browserName == "Microsoft Internet Explorer") {
            document.getElementById('adm_fees').style.display = 'block';
        } else {
            document.getElementById('adm_fees').style.display = 'table-row';
        }
    } else {
        document.getElementById('adm_fees').style.display = 'none';
    }
}
function submit_form(value) {
    if (value.shortdescription.value.length < 6) {
        alert("The Short Description must be between 6 and 150 characters.");
        value.shortdescription.focus();
        return false;
    } else {
        return true;
    }
}
function showSub(str, type) {
    if ((str == "") && (type == "cat")) {
        document.getElementById("sub_cat").innerHTML = '<select disabled="disabled" name="cat_id" size="1" class="lnk"><option value="">Select Sub-Category</option></select>';
        return;
    }
    if ((str == "") && (type == "sub_cat")) {
        document.getElementById("sub_sub-cat").innerHTML = '<select disabled="disabled" name="sub_ssub_cat_id" size="1" class="lnk"><option value="">Select Sub Sub-Category</option></select>';
        return;
    }
    if ((str == "") && (type == "count")) {
        document.getElementById("state").innerHTML = '<select name="state" disabled="disabled"><option value="">Select State</option></select>';
        return;
    }
    if ((str == "") && (type == "state")) {
        document.getElementById("city").innerHTML = '<select name="city_id" disabled="disabled"><option value="">Select City</option></select>';
        return;
    }
    if ((str == "") && (type == "check_id")) {
        document.getElementById("check").innerHTML = "";
        return;
    }
    if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else {// code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            if (type == "cat") {
                document.getElementById("sub_cat").innerHTML = xmlhttp.responseText;
            }
            if (type == "sub_cat") {
                document.getElementById("sub_sub-cat").innerHTML = xmlhttp.responseText;
            }
            if (type == "count") {
                document.getElementById("state").innerHTML = xmlhttp.responseText;
            }
            if (type == "state") {
                document.getElementById("city").innerHTML = xmlhttp.responseText;
            }
            if (type == "check_id") {
                document.getElementById("check").innerHTML = xmlhttp.responseText;
            }
        }
    };
    xmlhttp.open("GET", "show_sub.php?q=" + str + "&cat=" + type, true);
    xmlhttp.send();
}
function textCounter(field, cntfield, maxlimit) {
    if (field.value.length > maxlimit) {
        field.value = field.value.substring(0, maxlimit);
        alert('Max lenght of Short Description is 150 characters. You have typed ' + field.value.length + ' charachters.');
    }
    // otherwise, update 'characters left' counter
    else {
        cntfield.value = maxlimit - field.value.length;
    }
}
function ValidEvent(frm, type) {
    var tx = "";
    if (type) {
        if (!frm.cal_id.value) {
            tx += "Please Select Calendar Name.\n";
        }
    }
    if (!frm.eventname.value) {
        tx += "Please Enter Event Name.\n";
    }
    /*if (!frm.cat_id.value) {
        tx += "Please Select Category.\n";
    }
    if (!frm.sub_cat_id.value) {
        tx += "Please Select Sub-Category.\n";
    }
    if (!frm.shortdescription.value) {
        tx += "Please Enter Short Descriptions.\n";
    }
    var oEditor = FCKeditorAPI.GetInstance('longdescription');
    if (oEditor.GetXHTML(true) == "") {
        tx += "Please Enter Long Description.\n";
    }*/
    if (!frm.start_date.value) {
        tx += "Please Enter Start Date.\n";
    }
    if (!frm.start_hour.value) {
        tx += "Please Select Start Hour.\n";
    }
    if (!frm.start_minute.value) {
        tx += "Please Select Start Minute.\n";
    }
    if (!frm.finish_date.value) {
        tx += "Please Select Finish Date.\n";
    }
    if (!frm.finish_hour.value) {
        tx += "Please Enter Finish Hour.\n";
    }
    if (!frm.finish_minute.value) {
        tx += "Please Select Finish Minute.\n";
    }
    /*if (!frm.address.value) {
        tx += "Please Enter Address.\n";
    }
    if (!frm.city_id.value) {
        tx += "Please Select City.\n";
    }
    if (!frm.country_id.value) {
        tx += "Please Select Country.\n";
    }
    if (!frm.state_id.value) {
        tx += "Please Select State.\n";
    }*/
    if (tx) {
        alert("Sorry!! you left some mandatory fields.Please Check.\n\n" + tx);
        return false;
    }
    if (document.getElementById("check").innerHTML == '<font color="#FF0000">No name exits</font>') {
        alert('Invalid User ID.');
        return false;
    }
    return true;
}
function validateContents() {
    var txt = '';
    if (trim(document.getElementById('cal_name').value) == "") {
        txt += "Calender Name cannot be blank.\n";
    }
    if (trim(document.getElementById('access_code').value) == "") {
        txt += "Access Code cannot be blank.\n";
    }
    var image_obj = document.getElementById('image_file');
    if (image_obj.value != "") {
        var file_name = image_obj.value;
        var flag = validate_image_file(file_name);
        if (!flag) {
            txt += "please select proper image file";
        }
    }
    if (txt != "") {
        alert("Following fields are mandatory:-\n\n" + txt);
        return false;
    }
    return true;
}

function getFileExtension(filename) {
    var ext = /^.+\.([^.]+)$/.exec(filename);
    return ext == null ? "" : ext[1];
}

function validate_image_file(file_name) {
    var ext_array = new Array("jpg", "jpeg", "gif", "png", "bmp");
    var ext = getFileExtension(file_name);
    ext = ext.toLowerCase();
    var length = ext_array.length;
    for (var count = 0; count < length; count++) {
        if (ext_array[count] == ext) {
            return true;
        }
    }
    return false;
}

refresh_calendar_view = function(size) {
    var objects = {
        year : parseInt(document.getElementById("cal_year").value),
        month : parseInt(document.getElementById("cal_month").value),
        size : parseInt(size)
    };
    $('.mycal').calendar(objects);
    $(document).ready(function() {
        var imageBoxObj = document.getElementsByClassName("cal-calendar");
        imageBoxObj[0].style.background = "url('" + USER_CAL_IMAGE + "')";
    });
};
refresh_calendar_year = function(year) {
    var objects = {
        year : parseInt(year),
        month : parseInt(document.getElementById("cal_month").value)
        //size : parseInt(document.getElementById("no_month").value)
    };
    $('.mycal').calendar(objects);
    $(document).ready(function() {
        var imageBoxObj = document.getElementsByClassName("cal-calendar");
        imageBoxObj[0].style.background = "url('" + USER_CAL_IMAGE + "')";
        if (CALENDAR_ID != null && CALENDAR_ID != "") {
            load_events_dates(CALENDAR_ID);
        }
    });
};

refresh_calendar_month = function(month) {
    var objects = {
        year : parseInt(document.getElementById("cal_year").value),
        month : parseInt(month)
        //size : parseInt(document.getElementById("no_month").value)
    };
    $('.mycal').calendar(objects);
    $(document).ready(function() {
        var imageBoxObj = document.getElementsByClassName("cal-calendar");
        imageBoxObj[0].style.background = "url('" + USER_CAL_IMAGE + "')";
        if (CALENDAR_ID != null && CALENDAR_ID != "") {
            load_events_dates(CALENDAR_ID);
        }
    });
};

load_default_cal = function(image_path, calendar_id) {
    $(document).ready(function() {
        if(calendar_id != null && calendar_id != "") {
            CALENDAR_ID = calendar_id;
        }
        document.getElementById("cal_year").value = new Date().getFullYear();
        document.getElementById("cal_month").value = new Date().getMonth();
        $('.mycal').calendar({month : new Date().getMonth(), cal_id:CALENDAR_ID});
        call_cal_after_load();
        var imageBoxObj = document.getElementsByClassName("cal-calendar");
        if (imageBoxObj != null) {
		
            if (image_path != null && image_path != "") {
                imageBoxObj[0].style.background = "url('" + image_path + "')";
                USER_CAL_IMAGE = image_path;
            } else {
                imageBoxObj[0].style.background = "url('" + USER_CAL_IMAGE + "')";
            }
            if (calendar_id != null && calendar_id != "") {
                load_events_dates(CALENDAR_ID);
            }
        }
    });
};

call_cal_after_load = function() {
    $('#world-map').hide();
    $('.show').click(function () {
        try {
            if ($(this).attr('isOpen') && $(this).attr('isOpen') == 'true') {
                $("#world-map").hide('blind', {}, 1000);
                $(this).attr('isOpen', 'false');
            }
            else {
                $("#world-map").show('blind', {}, 1000);
                $(this).attr('isOpen', 'true');
            }
        }
        catch (e) {
            alert(e);
        }

        return false;
    });
};

trim = function(stringToTrim) {
    return stringToTrim.replace(/^\s+|\s+$/g, "");
};

validate_access_code = function(formObj) {
    var access_code = trim(formObj.access_code.value);
    if (access_code != null && access_code != "") {
        return true;
    } else {
        alert("Please Enter Access Code.");
        return false;
    }
};

validateLogin = function (login1) {
    if (!login1.elements['username'].value) {
        alert("Please enter a valid user name.");
        login1.elements['username'].focus();
        return false;
    }
    if (!login1.elements['password'].value) {
        alert("Please enter password.");
        login1.elements['password'].focus();
        return false;
    }
    return true;
};

//var events_ajax_URL = 'http://localhost/nanoexhibits/ajax/access_calendar.ajax.php';
var events_ajax_URL = ROOT+'ajax/access_calendar.ajax.php';

//var event_ajax_url_using_category = "http://localhost/nanoexhibits/ajax/calendar_event.ajax.php";
var event_ajax_url_using_category = ROOT+"ajax/calendar_event.ajax.php";

load_events_dates = function(calendar_id) {
	
    var query = "?event=load_events_date&calendar_id=" + calendar_id;
    $.post(events_ajax_URL + query, {}, function(data) {
        process_events_dates(data);
    }, "xml");
};

process_events_dates = function(data) {
    //alert(data);
    //var xmlResponse = parseXml(data);
    //using standard js
    /*var event_result = data.getElementsByTagName("event_result")[0];
     var event_result_value = event_result.childNodes[0].nodeValue;
     if(event_result_value) {
     var events = data.getElementsByTagName("events");
     if(events) {
     var from_date_array = data.getElementsByTagName("from_date");
     var to_date_array = data.getElementsByTagName("to_date");
     for(var counter = 0; counter < from_date_array.length; counter++) {
     var from_date = from_date_array[counter].childNodes[0].nodeValue;
     var to_date = to_date_array[counter].childNodes[0].nodeValue;
     alert(from_date);
     alert(to_date);
     }
     }
     }*/
    // using jQuery
    var event_result = $(data).find("event_result");
    /*event_r.each(function() {
     alert($(this).text());
     });*/
    var event_result_value = $(event_result[0]).text();
    if (event_result_value) {
        var events = $(data).find("events");
        if (events) {
            var from_date_array = $(events).find("from_date");
            var to_date_array = $(events).find("to_date");
            var short_desc_array = $(events).find("short_desc");
            var title_array = $(events).find("title");
            var cost_array = $(events).find("fee");
            /*from_date_array.each(function(){
             alert($(this).text()+ "<br />");
             });
             $(events).find("from_date").each(function(){
             alert($(this).text());
             });*/
            for (var counter = 0; counter < from_date_array.length; counter++) {
                var from_date = $(from_date_array[counter]).text();
                var to_date = $(to_date_array[counter]).text();
                var short_desc = $(short_desc_array[counter]).text();
                var title = $(title_array[counter]).text();
                var cost = $(cost_array[counter]).text();
                var from_date_temp = new Date(from_date);
                var to_date_temp = new Date(to_date);
                while (to_date_temp >= from_date_temp) {
                    var id = from_date_temp.getFullYear() + "-" + (from_date_temp.getMonth() + 1) + "-" + from_date_temp.getDate();
                    $("#" + id).removeClass("cal-day");
                    $("#" + id).addClass("cal-day-selected");
                    var options = {
                        title:title,
                        desc:short_desc,
                        cost:cost,
                        date:from_date_temp,
                        cal_id:CALENDAR_ID
                    };
                    display_event_info(id, options);
                    from_date_temp = add_days(1, from_date_temp);
                }
                from_date_temp = null;
                to_date_temp = null;
            }
        }
    }
};

parseXml = function(str) {
    if (window.ActiveXObject) {
        var doc = new ActiveXObject('Microsoft.XMLDOM');
        doc.loadXML(str);
        return doc;
    } else if (window.DOMParser) {
        return (new DOMParser).parseFromString(str, 'text/xml');
    } else
        return "";
};

days_between = function(date1, date2) {

    // The number of milliseconds in one day
    var ONE_DAY = 1000 * 60 * 60 * 24;

    // Convert both dates to milliseconds
    var date1_ms = date1.getTime();
    var date2_ms = date2.getTime();

    // Calculate the difference in milliseconds
    var difference_ms = Math.abs(date1_ms - date2_ms);

    // Convert back to days and return
    return Math.round(difference_ms / ONE_DAY)

};

add_days = function(days, date) {
    var current_date = new Date(date);
    current_date.setTime(current_date.getTime() + (days * 24 * 60 * 60 * 1000));
    return current_date;
};

display_event_info = function(id, options) {
    $('#' + id).mouseover(function () {
        var target = $(this);
        Mouse.element = target;
        setTimeout(function () {
            if (target == Mouse.element) {
                create_event_pop_up(target, options);
            }
        }, 500);
    });

    $('#' + id).mouseout(function () {
        Mouse.element = null;
    });
};

var visiblePopup = null;

create_event_pop_up = function (target, options) {
    if (visiblePopup == null || visiblePopup.calpopup('parent').parent().get(0) != target.get(0)) {
        if (visiblePopup != null) {
            visiblePopup.calpopup('hide');
        }
        visiblePopup = $('<div>This is sample Test Data</div>');
        target.append(visiblePopup);
        visiblePopup.calpopup(options);
    }
};

load_default_cal_event = function(cat_id, sub_cat_id, sub_sub_cat_id) {
    $(document).ready(function() {
        document.getElementById("cal_year").value = new Date().getFullYear();
        document.getElementById("cal_month").value = new Date().getMonth();
        $('.mycal').calendar({month : new Date().getMonth()});
        call_cal_after_load();
        var imageBoxObj = document.getElementsByClassName("cal-calendar");
        if (imageBoxObj != null) {
            imageBoxObj[0].style.background = "#60CDF6";
            load_events_dates_for_category(cat_id, sub_cat_id, sub_sub_cat_id);
        }
    });
};

var CAT_ID = null;
var SUB_CAT_ID = null;
var SUB_SUB_CAT_ID = null;
load_events_dates_for_category = function(cat_id, sub_cat_id, sub_sub_cat_id) {
    CAT_ID = cat_id;
    SUB_CAT_ID = sub_cat_id;
    SUB_SUB_CAT_ID = sub_sub_cat_id;
    var query = "?event=load_events_date&id_array=" +
            new Array(cat_id, sub_cat_id, sub_sub_cat_id);
    $.post(event_ajax_url_using_category + query, {}, function(data) {
        process_events_dates(data);
    }, "xml");
};

refresh_calendar_event_year = function(year) {
    var objects = {
        year : parseInt(year),
        month : parseInt(document.getElementById("cal_month").value)
    };
    $('.mycal').calendar(objects);
    $(document).ready(function() {
        var imageBoxObj = document.getElementsByClassName("cal-calendar");
        imageBoxObj[0].style.background = "url('" + USER_CAL_IMAGE + "')";
        load_events_dates_for_category(CAT_ID, SUB_CAT_ID, SUB_SUB_CAT_ID);
    });
};

refresh_calendar_event_month = function(month) {
    var objects = {
        year : parseInt(document.getElementById("cal_year").value),
        month : parseInt(month)
    };
    $('.mycal').calendar(objects);
    $(document).ready(function() {
        var imageBoxObj = document.getElementsByClassName("cal-calendar");
        imageBoxObj[0].style.background = "url('" + USER_CAL_IMAGE + "')";
        load_events_dates_for_category(CAT_ID, SUB_CAT_ID, SUB_SUB_CAT_ID);
    });
};

load_home_event = function () {
    if (document.getElementById("eventBox")) {
        $(document).ready(function() {
            $("#eventBox").jCarouselLite({
                vertical: false,
                visible: 3,
                speed:2500,
                circular:false,
                btnNext: "#next-arrow",
                btnPrev: "#prev-arrow"
            });
        });
    }
};

//var CAL_JOIN_URL = "http://localhost/nanoexhibits/ajax/calendar_join_ajax.php";
var CAL_JOIN_URL = ROOT+"ajax/calendar_join_ajax.php";
join_calendar = function(cal_id, user_id) {
    $.post(CAL_JOIN_URL+"?cal_id="+cal_id + "&user_id="+user_id, {}, function(data) {       
        $("#join_cal").hide("slow");
    });
};

//var CAL_FOLLOW_URL = "http://localhost/nanoexhibits/ajax/calendar_follow_ajax.php";
var CAL_FOLLOW_URL = ROOT+"ajax/calendar_follow_ajax.php";
follow_calendar = function(cal_id, user_id) {
    $.post(CAL_FOLLOW_URL+"?cal_id="+cal_id + "&user_id="+user_id, {}, function(data) {      
        $("#follow_cal").hide("slow");
    });
};

invite_friend_cal_show = function(cal_id, user_id) {
    CAL_ID = cal_id;
    USER_ID = user_id;
    var email_list_obj = document.getElementById("email_list_invite");
    if(email_list_obj.style.display == "none") {
        $("#email_list_invite").slideDown("slow");
    }else {
        $("#email_list_invite").slideUp("slow");
    }
};

var CAL_ID = null;
var USER_ID = null;
var CAL_INVITATION_URL = ROOT+"ajax/calendar_invite_ajax.php";
//var CAL_INVITATION_URL = "http://localhost/nanoexhibits/ajax/calendar_invite_ajax.php";

invite_friend_cal = function() {
    var email_list = trim(document.getElementById("email_list").value);
    if(email_list != null && email_list!="") {
        $.post(CAL_INVITATION_URL, {cal_id:CAL_ID, email_list:email_list, user_id:USER_ID, time:new Date()}, function(data){
            data = trim(data);
            if(data == "true") {
                alert("Invitation is Sent Successfully.");
                $("#email_list_invite").slideUp("slow");
                document.getElementById("email_list").value="";
            }else {

            }
        },"txt");
        return true;
    } else {
        alert("Please Enter Email Id");
    }
    return false;
};

validate_reg_form = function (form1) {
    	if (trim(form1.elements['first_name'].value) == '') {
    		alert('Please enter your first name.');
	    	form1.elements['first_name'].focus();
    		return false;
    	}
        if (trim(form1.elements['last_name'].value) == '') {
            alert('Please enter your last name.');
            form1.elements['last_name'].focus();
            return false;
        }
        if (!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(form1.elements['email'].value)){
            alert("Please enter a valid email address.");
            form1.elements['email'].focus();
            return false;
        }
    	if (trim(form1.elements['password'].value) == '') {
            alert('You must enter your password.');
            form1.elements['password'].focus();
            return false;
        }
	return true;
};

hide_location_box = function(id) {
    $("#"+id).slideUp("slow");
    $("#"+id).hide("slow");
    var url = ROOT+"ajax/session_location.php";
    //var url = "http://localhost/nanoexhibits/ajax/session_location.php";
    $.post(url,{},function(data){});
};

hide_location_box_2 = function(id) {
    $("#"+id).slideUp("slow");
    $("#"+id).hide("slow");
    var city_name = document.getElementById("location_city").value;
    var url =ROOT+"ajax/session_location.php?city_name="+city_name;
    //var url = "http://localhost/nanoexhibits/ajax/session_location.php?city_name="+city_name;
    $.post(url,{},function(data){});
};


