if(typeof(thickbox_connect) == 'undefined'){
    // Connect object contains the callbacks that will be called 
    // on sucessfull login or register.
    // Connects thickbox page with main page.
    thickbox_connect = {};
    thickbox_connect.login = [];
}

thickbox_connect.register = function(info) {
};

thickbox_connect.login.push(function(info) {
    set_logged_in(info);
});

function capitalize(name) {
    var n1 = name.replace(/"/ig,"");
    var cap_name = n1.substring(0,1).toUpperCase() + 
                   n1.substring(1,n1.length).toLowerCase();
    return cap_name;
}

function set_logged_in(info) {
    if(typeof(logged_in) !== "undefined")
        logged_in();
    if (CookieManager.get('QuillAPI_userinfo')) {
        if(typeof(auth_signin_callbacks) !== "undefined"){
            for(var i=0;i<auth_signin_callbacks.length; i++){
                auth_signin_callbacks[i](info);
            }
        }
        $("#signout_link").show();
        $("#user_name").text(capitalize(CookieManager.get('QuillAPI_user')));
        $('#tb_user_before_sign_in').hide();
        $('#tb_user_after_sign_in').show();
        hide_error();
    } else {
        if(typeof(auth_signout_callbacks) !== "undefined"){
            for(var i=0;i<auth_signout_callbacks.length; i++){
                auth_signout_callbacks[i](info);
            }
        }
        $("#email").val('');
        $("#password").val('');
        $("#signout_link").hide();
        $("#user_name").text('');
        $('#tb_user_before_sign_in').show();
        $('#tb_user_after_sign_in').hide();
    }
}


function delayed_response(){
    show_error('Server is taking too long to respond','red');
}

function validate_login(){
    clear();
    var email =   $("#email").val();
    var password = $("#password").val();
    var err_count = 0;
    if(!password){ show_error('Password: Requried field','red'); err_count++;}
    if(!email){ show_error('Email Address: Required Field','red'); err_count++; }
    else if(!isValidEmailID(email)){ show_error('Invalid e-mail Address','red'); err_count++; }
    if(err_count ==0)
        login();
}

function clear(){
   $('#name_err').css({'display':'none'}); 
   $('#email_null_err').css({'display':'none'}); 
   $('#email_invalid_err').css({'display':'none'}); 
   $('#passwd_null_err').css({'display':'none'}); 
   $('#repasswd_null_err').css({'display':'none'}); 
   $('#passwd_mismatch_err').css({'display':'none'}); 
}

function forgotpasswd() {
    clear();
    $("#errSpan").html("");
    var height = 140;
    var width = 370;
    $('#passwd_row').hide();
    var retype = $("#retype").css('display','none');
    var retype_tr = $("#retype_err_row").css('display','none');
    var bsub =   $("#btnsubmit").val('Submit');
    var auser =  $("#anewuser").css('display','block');
    var name =   $("#name").css('display','none');
    var name =   $("#passwd").css('display','none');
    var name_err =   $("#name_err_row").css('display','none');
    var aolduser =   $("#aolduser").css('display','none');
    $('#TB_window').css({'height':'100px','width':'100px'});
    $('#TB_iframeContent').css({'height': '100px'});
}

function isValidEmailID(text) {
    var result = text.match(/^[0-9a-zA-Z_\.-]+@([0-9a-zA-Z_-]+\.)+[a-zA-Z0-9_-]+$/); 
    return (result !== null);
}

function login(){
    show_error("Checking login...Please wait",'#006699');
    timer = setTimeout('delayed_response()',20000);
    $.post("/quillAPI_backend/login",            
            { mailid:       $('#email').val(),
              password:     $('#password').val()},
      function(data){
        var info = JSON.parse(data, function (key, value) { return value}); 
        clearTimeout(timer);
        if(info['status'].indexOf('Error') >= 0 )
        {
            show_error(info['messg'],'red');
        }else{ 
            show_error(info['messg'],'green');
            set_logged_in(info);                
        }
    });
}

function reset_password(){
    $("#errSpan").css({'color':'#006699'});
    $("#errSpan").html("Checking Email ID...Please wait");
    timer = setTimeout('delayed_response()',20000);
    var url = this.parent.location.href;
    var temp = url.split('/');
    var ref = temp[temp.length-1];
    $.post("/emailverifier/forgot_password",            
            { mailid:       $('#email').val(),
              referer: ref},
      function(data){
        var info = JSON.parse(data, function (key, value) { return value}); 
        clearTimeout(timer);
        if(info['status'].indexOf('Error') >= 0 )
        {
            show_error(info['messg'],'red');
        }else{ 
            show_error(info['messg'],'green');
        }
    });
}
function sign_out(){
$('#email').val('');
$('#password').val('');
$('.emailpos').css("visibility", "visible");
$('.passwordpos').css("visibility", "visible");
 document.cookie = 'QuillAPI_userinfo=; expires=Thu, 01-Jan-70 00:00:01 GMT; path=/';
 document.cookie = 'QuillAPI_user=; expires=Thu, 01-Jan-70 00:00:01 GMT; path=/';
 set_logged_in();
  //$.post("/quillAPI_backend/signOut", {},
  //        function(data){
  //              set_logged_in();
  //      });
}
function show_error(msg,color){
    var off = $('#email').offset(); 
    var width = $('#email').height() + off.top + 10;
    $("#errSpan").css({'color':color});
    $("#errSpan").html(msg);
    $('#errSpan').css({'top':width+'px', 'left':off.left+'px'});
    setTimeout('hide_error()',20000);
}

function hide_error(){
    $('#errSpan').css({'top':'-60px', 'left':'-60px'});
}

var supported_langs = {
        "bengali"   :true,
        "gujarati"  :true,
        "hindi"     :true,
        "kannada"   :true,
        "malayalam" :true,
        "marathi"   :true,
        "nepali"    :true,
        "punjabi"   :true,
        "tamil"     :true,
        "telugu"    :true}

function page_is_lang_specific(){
    var url = window.location.pathname.split('/');
    var len = url.length;
    if(supported_langs[url[len-2].toLowerCase()])
        return true;
    return false;            
}

$(document).ready(function(){

       set_logged_in(); 
       var err_span = $('<span id="errSpan"></span>');
       err_span.css({'position':'absolute', 'top':'-60px', 'left':'-60px','width':'300px'});
       err_span.css({'font-size':'10px', 'font-family':'Arial,Helvetica,sans-serif'});
       $(document.body).append(err_span);

        $('#homelink').click(function(){
            var lang = getLANG().toLowerCase();
            if(lang == 'english')
                lang = 'hindi';
            if(page_is_lang_specific())
                window.location = 'index.html';
            else
                window.location = './'+lang+'/index.html';
            return false;
        });
        $('#demolink').click(function(){
            var lang = getLANG().toLowerCase();
            if(lang == 'english')
                lang = 'hindi';
            if(page_is_lang_specific())
                window.location = 'demo-editor.html';
            else
                window.location = './'+lang+'/demo-editor.html';
            return false;
        });
		
		$('#email').focus(function() {
			var emailid = $('#email').val();
			if(emailid == '')
			{	
				$('.emailpos').css("visibility", "hidden");
			}
		});

		$('#email').blur(function() {
			var emailid = $('#email').val();
			if(emailid == '')
			{
				$('.emailpos').css("visibility", "visible");
			}
		});
		
		$('#password').focus(function() {
			var pass = $('#password').val();
			if(pass == '')
			{	
				$('.passwordpos').css("visibility", "hidden");
			}
		});

		$('#password').blur(function() {
			var pass = $('#password').val();
			if(pass == '')
			{
				$('.passwordpos').css("visibility", "visible");
			}
		});
});



function setLANG(lang) {

    if (CookieManager.get('Language'))
        CookieManager.erase('Language');
    CookieManager.set('Language',lang);
    $('.LANG').each(function(){
        $(this).html(lang);            
    });
}

function getLANG() {
    if (CookieManager.get('Language')){
        return CookieManager.get('Language');
    } else {
        setLANG('Hindi');
        return 'Hindi';
    }
}


