var duro={
	searchFilter:'',
	echk:function(formName,controlName){
		var isChk=false;
		if (typeof(document.forms[formName].elements[controlName].length)!='undefined'){
			for (var i=0;i<document.forms[formName].elements[controlName].length;i++){
				if (document.forms[formName].elements[controlName][i].checked){
					isChk=true;
				}
			}
		}else if(typeof(document.forms[formName].elements[controlName])=='object'){
			if(document.forms[formName].elements[controlName].checked){
				isChk=true;
			}
		}
		return isChk;
	},
	removeChk:function(a,f){
		var a=typeof(a)!='undefined'?a:'';
		var f=typeof(f)!='undefined'?f:'';
		var strChk='';
		if(duro.echk('dg','tBox[]')){
			if(confirm('Are you sure you want to perform this operation. Changes cannot be undone!')){
				for (i = 0; i < document.dg.elements.length; i++){
					if(document.dg.elements[i].type=='checkbox'&&document.dg.elements[i].name=='tBox[]'&&document.dg.elements[i].checked){
						strChk+='&tBox[]='+document.dg.elements[i].value;
					}
				}
				var url='';
				if(f){
					url=f+strChk;
				}else{
					url='?'+strChk;
				}
				window.location.href = 'http://' + window.location.hostname+'/'+a+url;
			}
		}else{
			alert('Please select an item.');
		}
	},
	cancel:function(c,a,id,f){
		var a=typeof(a)!='undefined'?a:'';
		var id=typeof(id)!='undefined'?id:'';
		var f=typeof(f)!='undefined'?f:'';
		a=a==''?'':'/'+a;
		id=id==''?'':'/'+id;
		var url='/'+c+a+id+f;
		window.location='http://'+document.domain+url;
	},
    sbox:function(){
        $('.sBoxInner ul li').hover(function(){
            $(this).addClass('sHover').removeClass('sInActive');
        },function(){
            $(this).addClass('sInActive').removeClass('sHover');
        }).click(function(){
            if($(this).children('input').attr('checked')){
                $(this).removeClass('sActive').children('input').attr('checked',false);
            }else{
                $(this).addClass('sActive').children('input').attr('checked',true);
            }
        });
        $('.sBoxInner ul li input').click(function(e){
            e.stopPropagation();
            if($(this).attr('checked')){
                $(this).parent().addClass('sActive');
            }else{
                $(this).parent().removeClass('sActive');
            }
        });
    },
	address:function(){
		$("select[name='country']").change(function () {
			if($(this).val()=='JM'){				
				$(".state_province_jm").show();
				$(".state_province_us").hide();
				$(".state_province_text").hide();
				$(".city_jm").show();
				$(".city_text").hide();
			}else if($(this).val()=='US'){				
				$(".state_province_jm").hide();
				$(".state_province_text").hide();
				$(".state_province_us").show();
				$(".city_jm").hide();
				$(".city_text").show();
			}else{
				$(".state_province_jm").hide();
				$(".state_province_us").hide();
				$(".state_province_text").show();
				$(".city_jm").hide();
				$(".city_text").show();
			}
		});
		$("select[name='state_province_jm']").change(function (){
			var rn=$(this).val();
			$.get("/xml/jm_cities_box", {r:rn},
			  function(data){
			    $("#city-jm-box").html(data.documentElement.firstChild.nodeValue);
			  });								
		});
	},
	permissionProp:{
    	pi:null,
	    pActive:null,
	    pData:null,
	    eTarget:{
	    	id:'',
			code:''
		}
    },
	setActivePermission:function(p){
		for(var i=0;i<duro.permissionProp.pData.length;i++){
            if(duro.permissionProp.pData[i].id==p){
                duro.permissionProp.pActive=duro.permissionProp.pData[i];
                break;
            }
        }
	},
    initPermission:function(){
		$('#pcancel').click(function(){
            $("#dialog-modal").dialog('close');
        });
        $('#dialog_add_permission').click(function(){
            var obj = {
                p:$('#permission').val(),
                a:$('.patn:checked').val(),
                all:$('#all_items').attr('checked')?1:0,
                own:$('#own_items').attr('checked')?1:0,
                specific:$('#specific_items').attr('checked')?1:0
            };
            duro.addPermission(obj);
        });
        $('#dialog_save_permission').click(function(){
            var obj = {
                p:$('#permission').val(),
                a:$('.patn:checked').val(),
                all:$('#all_items').attr('checked')?1:0,
                own:$('#own_items').attr('checked')?1:0,
                specific:$('#specific_items').attr('checked')?1:0
            };
            duro.savePermission(obj);
        });
        $('.patn').click(function(){
            $('#all_items').attr('checked',false);
            $('#own_items').attr('checked',false);
            $('#specific_items').attr('checked',false);
            duro.setActivePermission($(this).val());
            duro.setPermissionDefaultInputs();
        });
        $('#all_items').click(function(){
            if($(this).attr('checked')){
                $('#own_items').attr('checked',false).attr('disabled', 'disabled');
                $('#specific_items').attr('checked',false).attr('disabled', 'disabled');
                $('#dialog_add_permission').removeAttr("disabled");
                $('#dialog_save_permission').removeAttr("disabled");
                $('#sicontainer').removeClass('spec-content').html('');
            }else{
                duro.setPermissionDefaultInputs();
            }
        });
        $('#own_items').click(function(){
            if($(this).attr('checked')||$('#specific_items').attr('checked')){
                $('#dialog_add_permission').removeAttr("disabled");
                $('#dialog_save_permission').removeAttr("disabled");
            }else{
                duro.setPermissionDefaultInputs();
            }
        });
        $('#specific_items').click(function(){
            if($(this).attr('checked')||$('#own_items').attr('checked')){
                $('#dialog_add_permission').removeAttr("disabled");
                $('#dialog_save_permission').removeAttr("disabled");
                if($(this).attr('checked')){
                    $.get("/admin/xml/get_plist", {id:duro.permissionProp.pActive.callback},
                        function(data){
                            $('#sicontainer').addClass('spec-content').html(data.documentElement.firstChild.nodeValue);
                        }
                    );
                }else{
                    $('#sicontainer').removeClass('spec-content').html('');
                }
            }else{
                duro.setPermissionDefaultInputs();
            }
        });
    },
    setPermissionDefaultInputs:function(){
        if(duro.permissionProp.pActive.options==true){
            $('#dialog_add_permission').attr('disabled', 'disabled');
            $('#dialog_save_permission').attr('disabled', 'disabled');
        }else{
            $('#dialog_add_permission').removeAttr("disabled");
            $('#dialog_save_permission').removeAttr("disabled");
        }
        if(duro.permissionProp.pActive.all==true){
            $('#all_items').removeAttr("disabled");
        }else{
            $('#all_items').attr('disabled', 'disabled');
        }
        if(duro.permissionProp.pActive.own==true){
            $('#own_items').removeAttr("disabled");
        }else{
            $('#own_items').attr('disabled', 'disabled');
        }
        if(duro.permissionProp.pActive.specific==true){
            $('#specific_items').removeAttr("disabled");
        }else{
            $('#specific_items').attr('disabled', 'disabled');
        }
        $('#sicontainer').removeClass('spec-content').html('');
    },
    disablePermissionBtn:function(){
        $('#all_items').attr('checked',false).attr('disabled', 'disabled');
        $('#own_items').attr('checked',false).attr('disabled', 'disabled');
        $('#specific_items').attr('checked',false).attr('disabled', 'disabled');
        $('#dialog_add_permission').attr('disabled', 'disabled');
        $('#dialog_save_permission').attr('disabled', 'disabled');
        $('#sicontainer').removeClass('spec-content').html('');
    },
    addPermission:function(o){
        if(duro.permissionProp.pi==null){
			duro.permissionProp.pi=$('#pcontainer').children().length;
		}
        var inputs='<div id="p'+duro.permissionProp.pi+'">';
        inputs+='<input type="hidden" name="permission['+duro.permissionProp.pi+'][access_type]" value="'+o.p+'" />';
        inputs+='<input type="hidden" name="permission['+duro.permissionProp.pi+'][action]" value="'+o.a+'" />';
        inputs+='<input type="hidden" name="permission['+duro.permissionProp.pi+'][all]" value="'+o.all+'" />';
        inputs+='<input type="hidden" name="permission['+duro.permissionProp.pi+'][own]" value="'+o.own+'" />';
        inputs+='<input type="hidden" name="permission['+duro.permissionProp.pi+'][specific]" value="'+o.specific+'" />';
        $.each($('.permission-specific'),function(k,v){
            if(v.checked){
                inputs+='<input type="hidden" name="permission['+duro.permissionProp.pi+'][specific_items][]" value="'+v.value+'" />';
            } 
        });
        inputs+='</div>';
        $('#pcontainer').append(inputs);
        var suffix='';
        if(o.all==1){
            suffix=' (All Items)';
        }else{
            if(o.own==1&&o.specific==0){
                suffix=' (Own Items)';
            }else if(o.own==0&&o.specific==1){
                suffix=' (Specific Items)';
            }else if(o.own==1&&o.specific==1){
                suffix=' (Own & Specific Items)';
            }
        }
        $('#pcon').append('<li class="'+(o.p==2?'red':'')+'"><label class="disable checkboxLabel"><input type="checkbox" name="group_permission_p'+duro.permissionProp.pi+'" id="group_permission_p'+duro.permissionProp.pi+'" class="group_permission" value="1" /> '+duro.permissionProp.pActive.path+suffix+'</label></li>');
        duro.permissionProp.pi++;
        $("#dialog-modal").dialog('close');
    },
    savePermission:function(o){
    	var iter=duro.permissionProp.eTarget.code.slice(1);
		var inputs='<input type="hidden" name="permission['+iter+'][access_type]" value="'+o.p+'" />';
		inputs+='<input type="hidden" name="permission['+iter+'][action]" value="'+o.a+'" />';
		inputs+='<input type="hidden" name="permission['+iter+'][all]" value="'+o.all+'" />';
		inputs+='<input type="hidden" name="permission['+iter+'][own]" value="'+o.own+'" />';
		inputs+='<input type="hidden" name="permission['+iter+'][specific]" value="'+o.specific+'" />';
		$.each($('.permission-specific'),function(k,v){
			if(v.checked){
				inputs+='<input type="hidden" name="permission['+iter+'][specific_items][]" value="'+v.value+'" />';
			} 
		});
		$('#pcontainer #'+duro.permissionProp.eTarget.code).html(inputs);
		var suffix='';
		if(o.all==1){
			suffix=' (All Items)';
		}else{
			if(o.own==1&&o.specific==0){
				suffix=' (Own Items)';
			}else if(o.own==0&&o.specific==1){
				suffix=' (Specific Items)';
			}else if(o.own==1&&o.specific==1){
				suffix=' (Own & Specific Items)';
			}
		}
		var li=$('#group_permission_'+duro.permissionProp.eTarget.code).parent().parent();
		if(o.p==2){
			li.addClass('red');
		}else{
			li.removeClass('red');
		}
		li.html('<label class="disable checkboxLabel"><input type="checkbox" name="group_permission_p'+iter+'" id="group_permission_p'+iter+'" class="group_permission" value="1" /> '+duro.permissionProp.pActive.path+suffix+'</label>');
		$("#dialog-modal").dialog('close');
    },
    editPermission:function(i,t){
		duro.permissionProp.eTarget={id:i,code:t};
		$("#dialog-modal").dialog('option','title','Edit Group Permission');
		$("#dialog-modal").dialog('open');
	},
    isScrolledIntoView:function(elem){
    	/*$(window).scroll(function(){
	    	$.each($(".view-check"),function(i,e){
	    		if(isScrolledIntoView(e)){
	    			$(e).html('Hello World');
	    		}
	    	});
		});*/
	    var docViewTop = $(window).scrollTop();
	    var docViewBottom = docViewTop + $(window).height();
	    var elemTop = $(elem).offset().top;
	    var elemBottom = elemTop + $(elem).height();
	    return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom) && (elemBottom <= docViewBottom) && (elemTop >= docViewTop));
	}
};
