/****************************************
    Website Coded by Gelo Factory LLC
           All Rights Reserved
           (c)  Copyright 2008
         http://gelofactory.com/
****************************************/

var empty_name = "Please tell us your name.";
var empty_email = "Please tell us your email address.";
var invalid_email = "Your email address is invalid.";
var empty_comment = "Please tell us your comment.";
var empty_q = "Please tell us your questions you want to ask.";
var empty_r = "Please tell us your review.";
var empty_m = "Please tell us your message.";
var empty_captcha = "Please enter text you see in the image.";
var invalid_captcha = "Please enter text you see in the image.";
var error_message = "Something went wrong.  Please try again.";
var success_comment = "Your comment has been added.";
var success_review = "Let's say, Our editors will inform you if your review has been selected for posting.";
var success_question = "Thank you for your questions. Be sure to check back to see if they've been answered.";
var success_contact = "Thank you for contacting us. We'll get back to you shortly.";
var success_newsletter = "Your email address has been added.";
var email_selector = "Enter your email";
var larger_size = "Your image cannot be larger than 4 megabytes.";
var failed_crop = "Your image could not be cropped.";
var wrong_ext = "Please upload a jpg, gif or png image.";

var captcha_public_key = "6LdwswIAAAAAAOfV3Y05aaG_AjerwhSaJ34sb1Nb";

var successDiv = $("<div>").attr('class','confirm').attr('id','submit_confirm').css('display', 'none');
var recaptcha_imageDiv = $("<div>").attr('id','recaptcha_image').css('display','none');
var recaptcha_challenge_field_div = $("<div>").attr('id','recaptcha_challenge_field_holder').css('display','none');
var recaptcha_responseDiv = $("<div>").attr('id','recaptcha_response_field').css('display','none');

var RecaptchaOptions = {
   		theme: 'custom',
   		lang: 'en',
   		custom_theme_widget: 'recaptcha_widget'
};

$(function() {
	
	$("#newsletter_email").click(function () { $("#newsletter_email").val(""); });
	$('#archives').change(function() { if($(this).val() != 0) window.location = '?i='+$(this).val(); });
	if ($("#newsletter_email").length) { populateElement('#newsletter_email', email_selector); };
	if ($('#no_of_archive').length) {
		var total_archive = $('#no_of_archive').val();
		for (var i = 1; i <= total_archive; i++)
		    $('#archives_'+i).change(function() {  if($(this).val() != 0) window.location = '?i='+$(this).val(); });
	};

   	if ($('.confirm').length) jQuery(document).trigger('close.facebox');
	if (($('#facebox').length) || ($('#recaptcha_widget').length)) Recaptcha.create(captcha_public_key,"recaptcha_div", {theme: "custom"});

	if ($("#comments_newer").length) $("#comments_newer").hide();
	if ($("#news_newer").length) $("#news_newer").hide();
	if ($("#news_photo_newer").length) $("#news_photo_newer").hide();
    
	if (eval($("#total_comments").val()) < eval($("#comments_page_increment").val())) $("#comments_older").hide();
	$("#comments_older").click( function() { comments_pagination('back'); });
	$("#comments_newer").click( function() { comments_pagination('next'); });
	$("#news_older").click( function() { news_pagination('back'); });
	$("#news_newer").click( function() { news_pagination('next'); });

	$("#news_photo_older").click( function() { news_photo_pagination('back'); });
	$("#news_photo_newer").click( function() { news_photo_pagination('next'); });

	if ($("#total_photo_news").length)
		if ($("#total_photo_news").val() < 1)
			$("#news_photo_prev").hide();
		
    if ($("body.home").length) {
        $("#advertise a").click(function() { jQuery.facebox({ajax:'ajax/form.php?form=advertising&section=home'}); });
        $(".send a").click(function() { jQuery.facebox({ajax:'ajax/form.php?form=contact&section=home'}); });
    }
    if ($("body.videos").length || $("body.review").length || $("body.experts").length || $("body.style").length || $("body.horoscope").length) {
    	var object_name = $("#object_name").text();
        $(".send a").click(function() {
            var obj_id = $(this).attr("id").substr(8); // strip off "upcoming"
            jQuery.facebox({ajax:'ajax/form.php?form=send&section='+($("body").attr("class")).split(' ')[0]+'&obj_id='+obj_id+'&object_name='+object_name});
        }); 
    } 
    if ($("body.news").length) {
        //$(".news_add_comment a").click(function() { jQuery.facebox({div:'#overlay_comment'}); });
        var id =  parseInt($("#id").val(), 10);
        $(".news_add_comment a").click(function() { 
            if($("#recaptcha_image").length) $("#recaptcha_image").remove();
            if($("#recaptcha_challenge_field_holder").length) $("#recaptcha_challenge_field_holder").remove();
            if($("#recaptcha_response_field").length) $("#recaptcha_response_field").remove();
        	jQuery.facebox({ajax:'ajax/form.php?section=news&&id='+id}); 
        });
    }
});

var ajax_lock = false;
var ajax_timeout = null;
var ajax_timeout_delay = 10000;

function pagination(section, dir) {
    if (!ajax_lock) {
        ajax_lock = true;
        var ajax_unlock = function() {
            clearTimeout(ajax_timeout);
            ajax_lock = false;
            $("#loading").hide();
            $("body").css("cursor", "default");
        };
        ajax_timeout = setTimeout(ajax_unlock, ajax_timeout_delay);
        $("#loading").css("top", $(document).scrollTop()+10+"px").show();
        $("body").css("cursor", "wait");

        var next_page = parseInt($("#"+section+"_page_no").val(), 10) + ((dir == 'next') ? -1 : 1);
        var page_total = parseInt($("#"+section+"_page_total").val(), 10);

        $.ajax({
            type: "POST",
            url: "ajax/pagination.php",
            data: {
                section: section,
                id: parseInt($("#id").val(), 10),
                which_section: $("#which_section").val(),
                page_increment: parseInt($("#"+section+"_page_increment").val(), 10),
                page_no: next_page,
                page_total: parseInt($("#"+section+"_page_total").val(), 10),
                dir: dir
            },
            success: function(resp) {
                ajax_unlock();
                if (resp.length) {
                    var resp_el = null;
                    if (section == 'comments') resp_el = ".comments";
                    if (section == 'news') resp_el = ".entries";
                    if (section == 'news_photo') resp_el = "#news_photo_images";
                    if (resp_el) {
                        $(resp_el).html(resp);
                        if (next_page <= 1)
                            $("#"+section+"_newer").hide();
                        else
                            $("#"+section+"_newer").show();
                        if (next_page >= page_total)
                            $("#"+section+"_older").hide();
                        else
                            $("#"+section+"_older").show();
                    }
                } else {
                    $("#"+section+"_newer").hide();
                    $("#"+section+"_older").hide();
                }
            },
            error: function() {
                ajax_lock = false;
                clearTimeout(ajax_timeout);
                $("#loading").hide();
                $("body").css("cursor", "default");
                alert(error_message);
            }
        });
    }
}

function comments_pagination(dir) { pagination("comments", dir); }
function news_pagination(dir) { pagination("news", dir); }
function news_photo_pagination(dir) { pagination("news_photo", dir); }

function form_validation(form_name) {
    if (!validateEmpty($("#name").val())) {
		($("#error").length) ? $("#error").html(empty_name) : jQuery.facebox(empty_name,'error_message');
    	$("#name").focus();
        return false;
    }
 	if (!validateEmpty($("#form_email").val())) {
    	($("#error").length) ? $("#error").html(empty_email) : jQuery.facebox(empty_email,'error_message');
        $("#form_email").focus();
        return false;
    } else if (!validateEmail($("#form_email").val())) {
        ($("#error").length) ? $("#error").html(invalid_email) : jQuery.facebox(invalid_email,'error_message');
        $("#form_email").focus();
        return false;
    }
  	if (form_name == 'comment_form') { comment_validation(); }
    if (form_name == 'send_form') {	send_form_validation(); }
    if (form_name == "contact") { contact_form_validation(); }
}

function comment_validation() {  
	if ($("#comment").length) {
	    if (!validateEmpty($("#comment").val())) {
	        ($("#error").length) ? $("#error").html(empty_comment) : jQuery.facebox(empty_comment,'error_message');
	        $("#comment").focus();
	        return false;
	    }
	}
 	if ($("#recaptcha_response_field").length) {
		if (!validateEmpty($("#recaptcha_response_field").val())) {
			($("#error").length) ? $("#error").html(empty_captcha) : jQuery.facebox(empty_captcha,'error_message');
	    	$("#recaptcha_response_field").focus();
	    	return false;
	    }
	}
	submitForm();
}

function send_form_validation() {
	if (!validateEmpty($("#send_form_question").val())){
	    if ($("#error").length) {
	    	if($("body.review").length) { $("#error").html(empty_r);}
	    	else { $("#error").html(empty_q); }
	    }
        $("#send_form_question").focus();
	    return false;
	}
	file_name = $("input[@type='file']").val();
    if(!(file_name == "")) {
    	$.ajaxFileUpload ({
		    url:'ajax/form.php?page='+$("#page").val(),
			secureuri:false,
			fileElementId:'sendform_user_picture',
			success: function (data, status) {
				if (typeof(data.error) != 'undefined') {
					if (data.error == 2) {
	                   if ($("#error").length) $("#error").html(larger_size);
					} else if (data.error == 3) {
						if ($("#error").length) $("#error").html(wrong_ext);
					} else if (data.error == 0) {
	                   if ($("#error").length) $("#error").html(failed_crop); 																						
					} else {
						submitForm(data.msg);
					}
				}
			},
			error: function (data, status, e){
				alert(e);
			}
		});
    } else {
        submitForm();
    }
}

function contact_form_validation() {
	if (!validateEmpty($("#contact_form__message").val())){
	   if ($("#error").length) $("#error").html(empty_m);
	   $("#contact_form__message").focus();
	   return false;
	}
	submitForm();
}

function validateEmpty(str) {
    return ($.trim(str) != '');
}

function validateEmail(email) {
    var reg = /^([A-Za-z0-9_\-\+\.])+\@([A-Za-z0-9_\-\+\.])+\.([A-Za-z]{2,4})$/;
	if (reg.test(email) == false) {
        return false;
    } else {
        return true;
    }
}

function populateElement(selector, defvalue) {
    if ($.trim($(selector).val()) == "") {
        $(selector).val(defvalue);
    }

    $(selector).focus(function() {
        if ($(selector).val() == defvalue) {
            $(selector).val("");
        }
    });

    $(selector).blur(function() {
        if ($.trim($(selector).val()) == "") {
            $(selector).val(defvalue);
        }
    });
}

function newsletter() {
	if (!$("#submit_confirm").length) $("#content").append(successDiv);
	if (!validateEmail($("#newsletter_email").val())) {
		$("#submit_confirm").html(invalid_email);
		jQuery.facebox({div: '#submit_confirm'});
		$("#newsletter_email").focus();
	} else {
		parameter = $("#newsletter_email").serialize()+"&section=newsletter";
		jQuery.facebox({ ajax: 'ajax/form.php?'+parameter });
		$("#submit_confirm").html(success_newsletter);
		jQuery.facebox({div: '#submit_confirm'});
	}
}

function submitForm(file_name) {
	if (!$("#submit_confirm").length) $("#content").append(successDiv);
    var parameter_input = $("input").serialize();
    var parameter_textarea = $("textarea").serialize();
    var parameter = parameter_textarea+'&'+parameter_input+'&file_name='+file_name;
    $.ajax({
        type: "POST",
        url: "ajax/form.php",
        data: parameter,
        success: function(resp) {
            if (resp == 0) {
            	if($("#error").length)
                	$("#error").html(invalid_captcha);
                else 
                	jQuery.facebox(invalid_captcha,'error_message');
                Recaptcha.reload();
            } else {
            	if ($("#contact_form").length) {
            		$("#submit_confirm").html(success_contact);
            		jQuery.facebox({div: '#submit_confirm'});
            	} else if ($("#comment").length) {
            		if($("body.news").length) {
            		    $("#content").append(recaptcha_challenge_field_div);
            		    $("#content").append(recaptcha_imageDiv);
            		    $("#content").append(recaptcha_responseDiv);
            		}
            	    $("#comments").html(resp);
            	    if ($("#comments_newer").length) $("#comments_newer").hide();
                    if (eval($("#total_comments").val()) > eval($("#comments_page_increment").val())) $("#comments_older").show();
                    $("#comment").val("");
                	if ($("#recaptcha_response_field").length) Recaptcha.reload();
                	$("#submit_confirm").html(success_comment)
                	jQuery.facebox({div: '#submit_confirm'});
                } else if ($("#send_form_question").length) {
                    $("#send_form_question").val("");
                    ($("#page").val() == 'review') ? $("#submit_confirm").html(success_review) : $("#submit_confirm").html(success_question);
                 	jQuery.facebox({div: '#submit_confirm'});
                }
           }
        },
        error: function() {
        	alert(error_message);
        }
    });
}
function uFacebox(){
	$("select").hide();
}
function uFaceboxUnload() {
	$("select").show();
}

// To hide dropdown if facebox is appearing in IE
if(jQuery.browser.msie){
		$(document).bind("beforeReveal.facebox", function(){
			uFacebox();
		})
		$(document).bind("close.facebox", function(){
			uFaceboxUnload();
		}) 
}