
/*******************************************************************************
 ******************************  commons  **************************************
 ******************************************************************************/

function isArray(obj) {
    if(obj.constructor.toString().indexOf("Array") == -1)return false;
    else return true;
}

function str_replace(search, replace, subject){
    if(isArray(subject)){
        return subject[0].replace(new RegExp(search,"gi"), replace);
    }else{
        return subject.replace(new RegExp(search,"g"), replace);
    }
}

function count(search, subject) {
    var i = 0;
    var pos = subject.indexOf(search);
    var result = subject.substring(0);
    do {
        if (pos == -1) {
            return i;
        }
        result = result.substring(pos + search.length);
        pos = result.indexOf(search);
        i++;
    } while (i > 0);
    return false;
}



/*******************************************************************************
 ******************************  admin section  ********************************
 ******************************************************************************/
jQuery(document).ready(function($j) {
    if($j("#replace-active-translation-table").length){
        $j("#replace-active-translation-table").replaceWith(function(){
            return $j.ajax({
                url: "index.php",
                type: "GET",
                data: {'module':'admin','u':'upt'},
                async:false
            }).responseText;
        });
    }


    var toggleRowHeight = $j(".toggleRowHeight").height();
    $j(".toggelebleTable").parent(".overview-content").toggle();
    $j(".table_section_table").toggle();
    $j(".table_section_content").toggle();
    $j("body").append('<div class="scroll-position-holder" style="display:none;" />');

    $j("td.header").find("img").css("cursor","pointer").click(function(){
        $j("form.high_access").toggle();
    });

    $j('input[name="allow_higher_edit"]').blur(function(){
        if($j(this).val()=="highaccess"){
            $j.ajax({
                url: "index.php",type: "GET",data: {'module':'admin','hh':"true"},
                success:function(){location.reload();}
            });
        }else{
            $j(this).css("border","1px solid red");
        }
    });

    $j(".toggleRowHeight").hover(
        function () {
            $j(this).css({
                "position":"absolute",
                "background-color":"#F9F8F6",
                "height":"auto",
                "z-index":"2",
                "max-height":"250px",
                "overflow":"auto"
            });
        },
        function () {
            $j(this).css({
                "position":"relative",
                "background-color":"white",
                "height":toggleRowHeight,
                "z-index":"0",
                "overflow":"hidden"
            });
        }
    );



    $j(".toggleVisibility").click(function(){
        var src = $j.ajax({url: "index.php"+$j(this).attr("href"),async:false}).responseText;
        $j(this).children("img").attr("src",src);
        return false;
    });
    
    $j("a.new_item").click(function(){
        var isn = '0';if($j(this).hasClass("newlabel")){isn = "1";}
        var response = $j.ajax({
            url: "index.php"+$j(this).attr("href")+'&isn='+isn,
            async:false
        }).responseText;

        if(response){
            $j(this).toggleClass("newlabel");
            if(response=="hide"){
                $j(this).parent().parent().find(".new_item").addClass("newlabel");
            }else if(response=="show"){
                $j(this).parent().parent().find(".new_item").removeClass("newlabel");
            }else{
                $j('body').append('<div style="color:red">'+response+'</div>');
            }
            $j(this).parent().parent().find(".overview-content").show();
            $j(this).siblings("a").children(".open").hide();
            $j(this).siblings("a").children(".close").show();
            return false;
        }else{
           $j(this).toggleClass("newlabel");
           if(isn==1){
                var has = $j(this).parents(".toggelebleTable").find(".newlabel").length;
                if(has==0){
                    $j(this).parents(".overview").find(".overview-right-corner-menu")
                    .find(".new_item").removeClass("newlabel");
                }
           }else{
               $j(this).parents(".overview").find(".overview-right-corner-menu")
               .find(".new_item").addClass("newlabel");
           }
            return false;
        }
    });

    $j(".deleteRow").click(function(){
        $j.ajax({url: "index.php"+$j(this).attr("href")});
        var has = $j(this).parents(".toggelebleTable").find(".newlabel").length;
        var total = $j(this).parents(".toggelebleTable").find(".toggleVisibility").length;

        var parent_title = $j(this).parents(".overview").find(".overview-title").text();
        if(total==1){
            parent_title = parent_title.split('( '+total+' )')[0];
        }else{
            parent_title = parent_title.split('( '+total+' )')[0]+'( '+(parseInt(total)-1)+' )';
        }        
        $j(this).parents(".overview").find(".overview-title").text(parent_title);

        if(has==1){
            $j(this).parents(".overview").find(".overview-right-corner-menu")
            .find(".new_item").removeClass("newlabel");
        }
        $j(this).parent().parent().remove();
        return false;
    });




    $j(".toggleTable").live("click",function(){
        $j(this).children().toggle();
        $j(this).parent().parent().find(".overview-content").toggle();
        $j(this).parent().parent().parent(".table_section").find(".table_section_content").toggle();
        $j(this).parent().parent().next("table").toggle();
        return false;
    });


    $j(".edit_translation_table").find(".row_section_select").live('change',function(){
        $j(".row_table_select").css("display","none");
        $j('select[name="tables__'+$j(this).val()+'"]').css("display","inline");
    });



    $j(".edit_translation_table").find('select[name="type"]').live('change',function(){
        if(parseInt($j(this).val())==2){
            $j(".section_select_holder").css("display","none");
            $j(".row_select_holder").css("display","none");
            $j(".section_name_holder").css("display","inline");
        }else if(parseInt($j(this).val())==1){
            $j(".section_select_holder").css("display","inline");
            $j(".row_select_holder").css("display","none");
            $j(".section_name_holder").css("display","inline");
        }else{
            $j(".section_select_holder").css("display","none");
            $j(".section_name_holder").css("display","none");
            $j(".row_select_holder").css("display","inline");
        }
    });


   
    $j(".update_gtt").live('click',function(){
        var name = $j(".edit_translation_table").find('input[name="name"]').val();
        var type = $j(".edit_translation_table").find('select[name="type"]').val();
        var pid = $j(".edit_translation_table").find('select[name="pid"]').val();
        var holder = $j(".edit_translation_table").find('input[name="holder"]').val();
        
        if(type==2){pid = 0;}

        if(type==3){
            if(holder==''){
                $j(".edit_translation_table").find('input[name="holder"]').css("border","solid 2px red");
                return false;
            }
            var section = $j(".edit_translation_table").find('select[name="row_section"]').val();
            pid = $j(".edit_translation_table").find('select[name="tables__'+section+'"]').val();
        }else{
            if(name==''){
                $j(".edit_translation_table").find('input[name="name"]').css("border","solid 2px red");
                return false;
            }
        }

        toggleState(false);
        $j(".update_gtt").find("img").css("display","block");
        $j(".update_gtt").children("a").css("display","none");

        var form = $j.ajax({
            url: "index.php"+$j(this).children("a").attr("href"),
            type: "GET",
            data: {
                'name':name,
                'type':type,
                'pid':pid,
                'description':$j(".edit_translation_table").find('input[name="description"]').val(),
                'et':$j(".edit_translation_table").find('input[name="et"]').val(),
                'en':$j(".edit_translation_table").find('input[name="en"]').val(),
                'holder':holder,
                'delete':$j(".edit_translation_table").find('input[name="delete"]').attr("checked")
            },
            async:false
        }).responseText;

        var update = $j.ajax({
            url: "index.php",
            type: "GET",
            data: {'module':'admin','u':'upt'},
            async:false
        }).responseText;

        $j("td.content").html(form+update);
        toggleState(true);
        window.scroll(0,$j(".scroll-position-holder").text());
        return false;
    });

    

    $j(".edit_section").live('click',function(){

       $j(".scroll-position-holder").text(window.pageYOffset);
       
       $j(this).children().toggle();
       var url = $j(this).attr("href");

       if($j(this).children("img").css("display")=="none"){
           url = url.split("id=")[0]+"id=0";
       }else{
           window.scroll(0,0);
           $j(".edit_section").children().each(function(){
               if($j(this).hasClass("cancel")){
                    $j(this).hide();
               }else{
                   $j(this).show();
               }
           });
           $j(this).children().toggle();
       }
       var form = $j.ajax({async:false,url: "index.php"+url}).responseText;
       $j(".edit_translation_table").replaceWith(form);
       return false;
    });
    


    
});

var tState = new Array();
function toggleState(toggle){
   if(toggle){
       $j(".table_section_content").hide();
       $j(".toggleTable").each(function(){
            var id = $j(this).parent().find(".edit_section").attr("href").split("id=")[1];
            if(tState[id]=='open'){
                $j(this).children().hide();
                $j(this).children(".open").show();
                $j(this).parent().parent(".section-header").next(".table_section_content").hide();
                $j(this).parent().parent(".table-header").next(".table_section_table").hide();
            }else if(tState[id]=='close'){
                $j(this).children().hide();
                $j(this).children(".close").show();
                $j(this).parent().parent(".section-header").next(".table_section_content").show();
                $j(this).parent().parent(".table-header").next(".table_section_table").show();
            }
       });
   }else{
       $j(".toggleTable").each(function(){
            var id = $j(this).parent().find(".edit_section").attr("href").split("id=")[1];
            var status = 'close';
            if($j(this).children(".close").css("display")=='none'){
                status = 'open';
            }
            tState[id] = status;
       });
   }
}
