 $(function(){
    $("#postComment").click(userJoinOnPostComment);
    $("#signEmail").blur(signEmail_Blur);
    $("#signEmail").focus(signEmail_Focus);

    $("#signEmail2").blur(signEmail_Blur);
    $("#signEmail2").focus(signEmail_Focus);    
    
    //Setup Header slideshow
    $('#Header .bgImage').crossSlide({
      sleep: 2,
      fade: 1
    },
    [
      { src: baseUrl+'style/images/masthead1.png' },
      { src: baseUrl+'style/images/masthead2.png'   },
      { src: baseUrl+'style/images/masthead3.png'  },
      { src: baseUrl+'style/images/masthead4.png' }
    ]);

    inputEmailId = "#signEmail";
    
    var slider = CSlider("#BreakingNews .bnItem",5000);
    
    $("#insertImage").colorbox();
    
    
    var nf = $("#notificator");
    nf.css({opacity:0.85});
    var left = ($(window).width() - nf.width() ) / 2;
    nf.css ({left:left, top:30});

    setTimeout(function(){
        nf.fadeOut();
    },2500);
    
    
})

/* News letter */
function receiveOurNewsletter()
{   
    var url = baseUrl+"comments/confirmNewsletter";
    $.colorbox({href:url, opacity: 0.4, overlayClose: false, scrolling: false});
}

function joinOurNewsletter()
{
    var data = {};
    var url  = baseUrl + "comments/receiveNewsletter";
    $.post(url,data,function(data){
        $.fn.colorbox.close();
        document.location.reload();
    });
}
function unsubNewsletter()
{
    var url = baseUrl+"comments/unsubNewsletter";
    $.colorbox({href:url, opacity: 0.4, overlayClose: false, scrolling: false});
}
function unsubNewsletterConfirm()
{
    var data = {};
    var url  = baseUrl + "comments/unsubNewsletterConfirm";
    $.post(url,data,function(data){
        $.fn.colorbox.close();
        document.location.reload();
    });
}




function changePassword()
{
    var f = $("#ChangePassword");
    
    var obj = {
        /*oldPassword:    f.find("#oldPassword").val(),*/
        newPassword:    f.find("#newPassword").val(),
        newRePassword:  f.find("#newRePassword").val()
    };
    
    var url = baseUrl + "login/changepassword/1/1"; 
            
    $.post(url,obj, function(data)
    {
        if (data == "OK"){
            //alert("Your password is changed.");
            //$.fn.colorbox.close();
            document.location.reload();
        }else{
            f.find("#logError").html(data);
            f.find("#logError").show();
            $.fn.colorbox.resize();
            
        }
    });
}

function changePassUsername()
{
    var f = $("#ChangePassUsername");
    
    var obj = {
        /*oldPassword:    f.find("#oldPassword").val(),*/
        newUsername:    f.find("#newUsername").val(),
        newReUsername:  f.find("#newReUsername").val(),
        newPassword:    f.find("#newPassword").val(),
        newPassword:    f.find("#newPassword").val(),
        newRePassword:  f.find("#newRePassword").val()
    };
    
    var url = baseUrl + "login/changepassword/1/2"; 
            
    $.post(url,obj, function(data)
    {
        if (data == "OK"){
            //alert("Your username and password are changed.");
            //$.fn.colorbox.close();
            document.location = baseUrl + "myprofile/edit/fromView";
        }else{
            f.find("#logError").html(data);
            f.find("#logError").show();
            $.fn.colorbox.resize();
            
        }
    });
}


/**
 * Create slider 
*/
function CSlider(selector,time)
{
    var obj = this;
    this.items = $(selector);
    this.index = 0;
    
    this.showNext = function()
    {
        var p = obj.index;
        obj.index = obj.index+1;
        var n = obj.items.length;
        var i = obj.index;
        if( i>=n) {
            i = 0;
            obj.index = 0;   
        }
        
        var a = this.items[p];
        var b = this.items[i];

        $(a).fadeOut("normal", function(){ $(b).fadeIn("normal"); });

        setTimeout(obj.showNext,time);
    }
    
    if (this.items.length>1)
    {
        setTimeout(this.showNext,time);
    }
}


function reportCommentAbuse(id)
{
    reportCommentId = id;
    var url = baseUrl + "comments/report_user/"+id;
    $.colorbox({width:400,href:url, scrolling: false,opacity:0.4, overlayClose: false});
    

}
function reportUser()
{
    var set ={
        commentId: reportCommentId,
        reportUser:    $("#reportUser").attr("checked"),
        reportComment: $("#reportComment").attr("checked")
    }
    
    if ((set.reportUser == false) && ( set.reportComment == false))
    {
        alert("Please choose at least one option you want to report.");
        return;
    }
    
    
    var url = baseUrl+"/comments/reportUser"
    
    $.post(url, set,function(data)
    {
        var el = $("#cbReportUser");
        el.fadeOut("normal",function(){
            el.html("Thank you for your concern.");   
            el.fadeIn();  
            setTimeout(function(){ $.fn.colorbox.close(); },1000);             
        })
    });
}



function signEmail_Blur()
{
    var el = $(this);
    var val = jQuery.trim(el.val());
    
    if (val==""){
        el.val("Enter your email here")
        el.css("color","#555");
    }
}

function signEmail_Focus()
{
    var el = $(this);
    var val = jQuery.trim(el.val());
    
    if(val = "Enter your email here")
    {
        el.val("");
    }
    el.css("color","#333");
}

/**
    Reset password from popup dialog
*/
function resetPassword()
{
    var email = $("#logEmail").val();
    var err = $("#logError");
    
    var set = {Email:email};
    

    err.hide();
    
    var url = baseUrl+"login/resetlogin";
    $.post(url,set, function(data)
    {
        var data = eval("("+data +")");
        if (data.isFound==0)
        {
            err.html(data.message);
            err.css("color","red");
            err.fadeIn();
            $.fn.colorbox.resize();
        }
        else
        {
            err.html(data.message);
            err.css("color","green");
            err.fadeIn();
            $.fn.colorbox.resize(); 
            setTimeout(function(){ $.fn.colorbox.close(); },5000); 
        }
    });
}

/**
    Sends password and username to email (from popup dialog)
*/
function sendPassword()
{
    var email = $("#logEmail").val();
    var err = $("#logError");
    
    var set = {Email:email};
    

    err.hide();
    
    var url = baseUrl+"login/sendpassword";
    $.post(url,set, function(data)
    {
        var data = eval("("+data +")");
        if (data.isFound==0)
        {
            err.html(data.message);
            err.css("color","red");
            err.fadeIn();
            $.fn.colorbox.resize();
        }
        else
        {
            err.html(data.message);
            err.css("color","green");
            err.fadeIn();
            $.fn.colorbox.resize(); 
            setTimeout(function(){ $.fn.colorbox.close(); },5000);           
        }
    });
}

function ihaveLogin()
{
    var b = $("#cbLogin").attr("checked");
    
    if (b){
        $("#RegisterForm").hide();
        $("#LoginForm").fadeIn();
    }else{
        $("#LoginForm").hide();
        $("#RegisterForm").fadeIn();
    }
}

function userLogin()
{
    var set = {};
    set.Comment = "";
    set.PageId  = 0;
    
    $("#loginLinkHidden").colorbox({open:true,width:400,scrolling: false,opacity:0.4, overlayClose: false, onComplete:cboxRegLoad});
    return false;
}

function userJoin(id)
{
    inputEmailId = "#signEmail";
    if (id==2){
        inputEmailId = "#signEmail2";
    }
    //$("#regEmail").focus();
    var set = {};
    set.Comment = "";
    set.PageId  = 0;
    
    var url = baseUrl + "comments/save";
    
    $.post(url,set,function(data)
    {
        if(id!=3)
            $("#registerLinkHidden").colorbox({open:true,width:400,scrolling: false,opacity:0.4, overlayClose: false, onComplete:cboxRegLoad});
        else //this opens pop up after clicked on 'Join' or 'Register'
        {
            if ($("#signEmail").val()=="" || $("#signEmail").val()=="Enter your email here")
            {
                $("#signEmail").focus();
            }
            else 
            {
                $("#registerLinkHidden2").colorbox({open:true,width:400,scrolling: false,opacity:0.4, overlayClose: false, onComplete:cboxRegLoad2});
            }
        }
    }); 
    return false;
}

function userJoin2(id)
{
    /*inputEmailId = "#signEmail";
    if (id==2){
        inputEmailId = "#signEmail2";
    }
    
    var set = {};
    set.Comment = "";
    set.PageId  = 0;
    
    var url = baseUrl + "comments/save";
    
    $.post(url,set,function(data)
    {
        $("#registerLinkHidden").colorbox({open:true,width:400,scrolling: false,opacity:0.4, overlayClose: false, onComplete:cboxRegLoad});
    }); 
    return false;*/
    
    var _id=id;
    //alert(_id);
    var set = {};
    set.Email      = $("#signEmail").val();
    //set.Newsletter = $("#regNewsletter").val();
    /*if (jQuery.trim($("#commentText").val())!="") //called from comment box
    {
        set.Comment = jQuery.trim($("#commentText").val());
        set.PageId  = $("#pageId").val();
    }*/              
    var url = baseUrl + "comments/register/"+_id;
    
    
    //$("#regEmail").css("border","");
    //$("#regError").hide();
    //$("#forgotPasswordShowHide").hide();
    
    $.post(url, set, function(data)
    {
        var obj = eval("(" + data + ")");
        
        var err = "";
        for(var i in obj.items)
        {
            var item = obj.items[i];
            var id = "#"+item.id;
            err = err+ item.msg+"<br/>";
            //$(id).css("border","1px solid red");
        };
        
        if ( err !== "" )
        {
            $("#registerLinkHidden").colorbox({open:true,width:400,scrolling: false,opacity:0.4, overlayClose: false, onComplete:cboxRegLoad});
            $("#regError").html(err);
            $("#regError").fadeIn();
            $.fn.colorbox.resize();
        }
        
        if (obj.items.length == 0)
        {
            if(_id == 3)
            {
                //alert(_id);
                document.location.reload();
                //openThanksSignUpPopUp('2');
                //document.location.reload();
            }
            else
            {
                document.location.reload();
            } 
        }   
    });
}

function userJoinFromComment()
{
    //var comment = $("#messageFromCommentHidden").text();
    var comment = jQuery.trim($("#messageFromCommentHidden").text());
    inputEmailId = "#signEmail";
    
    var set = {};
    set.Comment = comment;
    set.PageId  = $("#pageId").val();
    
    var url = baseUrl + "comments/save";
    
    $.post(url,set,function(data)
    {
        $("#registerLinkHidden").colorbox({open:true,width:400,scrolling: false,opacity:0.4, overlayClose: false, onComplete:cboxRegLoad});
    }); 
    return false;
}

function cboxRegLoad()
{
    var val = $(inputEmailId).val();
    if (val == "Enter your email here") val="";
    $("#regEmail").val(val);
    $("#toClick").focus();
    //$("input:first").focus();

    if (val!=""){
        $("#regEmail2").focus();
    }
}

function cboxRegLoad2()
{
    var val = $(inputEmailId).val();
    if (val == "Enter your email here") 
    {
        val="";
        $.fn.colorbox.close();
        //$.fn.colorbox.resize();
        $("#textIncorrectEmailTitle").text("Sign up to Project Harar's newsletters");
        $("#textIncorrectEmail").text("Please type your email address in the text field below and click Confirm button.");
        //$("#regEmail").css("border", "1px solid red");
        //$.fn.colorbox.resize();
        //$.fn.colorbox.close();
        $(inputEmailId).focus();
    }
    $("#regEmail").val(val);
    $("#toClick").focus();
    //$("#regEmail").css("border", "1px solid red");
    
    if (val!=""){
        $("#regEmail2").focus();
    }
}

function userJoinOnPostComment()
{
    var post = {};
    post.text = jQuery.trim($("#commentText").val());
    
    if (post.text == "")
    {
        alert("Please enter comment.");
        return false;
    }

    var url = baseUrl + "comments/openPopUpForSignUpNewsletter";

    var nl = $("#Newsletter").val();
    
    if (nl == 0)
    {
        var url = baseUrl + "comments/openPopUpForSignUpNewsletter";
        $.colorbox({href:url,open:true,width:400,opacity:0.4, overlayClose: false, scrolling:false});
        return false;
    }
    
    var url = baseUrl + "login/getuserinfo";
    $.getJSON(url, function(data)
    {
        if (data.member == true){
            postComment();
        }else{
            registerUser();
        }
    });
    return false;
}

function userJoinOnPostComment2(signup)
{
    var url = baseUrl + "login/getuserinfo";
    $.getJSON(url, function(data)
    {
        if (data.member == true){
            postComment(signup);
        }else{
            registerUser();
        }
    });
    return false;        
}




function postComment(signup)
{
    var set = {};
    set.Comment = jQuery.trim($("#commentText").val());
    set.PageId  = $("#pageId").val();
    set.Signup   = signup;

    var url = baseUrl + "comments/add";
    $.post(url, set, function(data)
    {
        document.location.reload();
    });
}

function registerUser() //we open the color box here
{
    var set = {};
    set.Comment = jQuery.trim($("#commentText").val());
    set.PageId  = $("#pageId").val();
    
    var url = baseUrl + "comments/save";
    
    $.post(url,set,function(data){
        $("#postComment").colorbox({open:true,width:350,opacity:0.4, overlayClose: false, scrolling:false});    
    });  
}
/**
  Register and post comment  
*/
function commentRegisterClick(id)
{
    var _id=id;
    //alert(_id);
    var set = {};
    set.Email      = $("#regEmail").val();
    var checked= $('#regNewsletter').is(':checked'); 
    if (checked==true) set.Newsletter=1;
    else set.Newsletter=0;
    //set.Newsletter = $("#regNewsletter").val();
    //alert(checked); alert(set.Newsletter);
    
    if (jQuery.trim($("#commentText").val())!="") //called from comment box
    {
        set.Comment = jQuery.trim($("#commentText").val());
        set.PageId  = $("#pageId").val();
        //alert(set.Comment);
    }               
    var url = baseUrl + "comments/register/"+_id;
    
    
    $("#regEmail").css("border","");
    $("#regError").hide();
    //$("#forgotPasswordShowHide").hide();
    
    $.post(url, set, function(data)
    {
        var obj = eval("(" + data + ")");
        
        var err = "";
        for(var i in obj.items)
        {
            var item = obj.items[i];
            var id = "#"+item.id;
            err = err+ item.msg+"<br/>";
            $(id).css("border","1px solid red");
        };
        
        if ( err !== "" )
        {
            $("#regError").html(err);
            $("#regError").fadeIn();
            //$("#heightResize").hide();
            /*if(_id == 7)
            {
                //$("#registerLinkHidden").colorbox.resize({height:350}, function(){}); 
                        $.fn.colorbox.resize();               
            }*/
            //else
            /*$("#registerLinkHidden").colorbox.resize({height:270}, function(){
                        });*/
            $.fn.colorbox.resize();
        }
        
        if (obj.items.length == 0)
        {
            if(_id == 3)
            {
                //alert(_id);
                Set_Cookie("visited", true, 30, "/");   //when the user is registered, pop up will not show up anymore
                document.location.reload();
                //openThanksSignUpPopUp('2');
                //document.location.reload();
            }
            else
            {
                document.location.reload();
            } 
        }   
    });
}
/*This function shows Reset Password Box in Login window box*/
function showForgotPasswordField()
{       //$("#logEmail").focus();
        /*$("#loginLinkHidden").colorbox.resize({height:360}, function(){
                        });*/
                        
        $("#forgotPasswordShowHide").fadeIn();
        $("#resetPasswordButton").fadeIn();
        $("#logEmail").css("border","1px solid red");
        $.fn.colorbox.resize();
}

/**
  Login and post comment
*/
function commentLoginClick(input)
{
    var set = {};
    set.Username  = $("#logUsername").val();
    set.Password  = $("#logPassword").val();
    set.Remember  = $("#logRememberMe").attr("checked");
    
    if (set.Remember){
        set.Remember = 1;
    }else{
        set.Remember = 0;
    }

    var url = baseUrl + "comments/login";
    
    $("#logUsername").css("border","");
    $("#logPassword").css("border","");
    $("#logError").hide();    
    
    $.post(url, set, function(data)
    {
        var obj = eval("(" + data + ")");
        if (!obj.member)
        {
            $("#logError").html(obj.text);
            $("#logError").fadeIn();
            $.fn.colorbox.resize();      
        }
        else
        {
          if (set.Remember == 1)
          {
            createCookie("memberUsername",set.Username,30);
            createCookie("memberPassword",set.Password,30);
          }
            
          //document.location = document.location; 
          document.location.reload();  
        }
    });
}

function openIdLogin()
{
    var url=baseUrl+"openid/index";
    $.colorbox({width:400,height:300,href:url}); 
}

function commentRegisterClickSingUp()
{
    var set = {};
    set.FirstName   = $("#regFirstname").val();
    set.LastName   = $("#regLastname").val();
    set.Email      = $("#regEmail").val();
    //set.Email2     = $("#regEmail2").val();
    set.Username   = $("#regUsername").val();
    set.Password   = $("#regPassword1").val();
    set.Password2  = $("#regPassword2").val();
    //set.Newsletter = $("#regNewsletter").val();
    
    var url = baseUrl + "comments/registerSignUp";
    
    $("#regFirstname").css("border","");
    $("#regLastname").css("border","");
    $("#regEmail").css("border","");
    $("#regUsername").css("border","");
    $("#regPassword1").css("border","");
    $("#regPassword2").css("border","");
    $("#regError").hide();
    
    
    
    $.post(url, set, function(data)
    {
        var obj = eval("(" + data + ")");
        
        var err = "";
        for(var i in obj.items)
        {
            var item = obj.items[i];
            var id = "#"+item.id;
            err = err+ item.msg+"<br/>";
            $(id).css("border","1px solid red");
        };
        
        if ( err !== "" )
        {
            $("#regError").html(err);
            $("#regError").fadeIn();
        }
        
        if (obj.items.length == 0)
        {
            document.location = document.location  ;
        }   
    });
}

// Close Thanks pop-up on dedicated Sign up page
function closeThanksSignUp() 
{
    $.fn.colorbox.close();
    window.location = baseUrl + "page";
}
function closeThanksPopup() 
{
    $.fn.colorbox.close();
}

function openThanksSignUpPopUp(string)
{
    var string_=string;
    var url=baseUrl+"comments/thanksSignUp/"+string_;
    //alert(url);
    if (string_=='0')
        $.colorbox({href:url,width:400,opacity:0.4});
    else if (string_=='1')
        $.colorbox({href:url,width:400,opacity:0.4});
    else if (string_=='2')
        $.colorbox({href:url,width:400,opacity:0.4});        
    else {}
}
function addCommentFromFBUser()
{
    var set = {};
        set.Comment = $("#commentText").val();
        set.PageId  = $("#pageId").val();
    
    var url = baseUrl + "comments/registerFromFB";
    
    $.post(url, set, function(data)
    {
        document.location.reload();
        $.fn.colorbox.close();
 
    });
}
 function PopUpForSignUpNewsletter()
 {
    var url=baseUrl+"comments/openPopUpForSignUpNewsletter";
    $.colorbox({href:url,open:true,width:350,opacity:0.4,scrolling:false});
 }

function setCookie(c_name,value,exdays)
{
    var exdate=new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
    document.cookie=c_name + "=" + c_value;
    
   	/*if (exdays) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000)); //in miliseconds
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = c_name+"="+value+expires+"; path=/";*/
    
}

function handleFloatingPopUp()
{
    userJoin(); //opens the pop ups
    //setCookie("visited", true, 30);    //sets the cookie //cookie lasts for one month=30days
    Set_Cookie("visited", true, 30, "/");
}

function Set_Cookie(name, value, expires, path, domain, secure)
{
    // set time, it's in milliseconds
    var today = new Date();
    today.setTime(today.getTime());
    /*
    if the expires variable is set, make the correct
    expires time, the current script below will set
    it for x number of days, to make it for hours,
    delete * 24, for minutes, delete * 60 * 24
    */
    if ( expires )
    {
        expires = expires * 1000 * 60 * 60 * 24;
    }
    var expires_date = new Date( today.getTime() + (expires) );
    
    document.cookie = name + "=" +escape( value ) +
    ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
    ( ( path ) ? ";path=" + path : "" ) +
    ( ( domain ) ? ";domain=" + domain : "" ) +
    ( ( secure ) ? ";secure" : "" );
 }

